一,redis處理過時keys的機制redis
當client主動訪問key時,會先對key進行超時判斷,過期的key會馬上刪除;另外get
Redis會在後臺,每秒10次的執行以下操做: 隨機選取100個key校驗是否過時,若是有25後臺
個以上的key過時了,馬上額外隨機選取下100個key(不計算在10次以內)。也就是說,若是cli
過時的key很少,Redis最多每秒回收200條左右,若是有超過25%的key過時了,它就會作得時間戳
更多,這樣即便從不被訪問的數據,過時了也會被刪除掉。數據
二, 處理過時keys的命令di
1:expire:設置過時時間,格式是expire key值秒數時間
2:expireat:設置過時時間,格式是expireat key值到秒的時間戳超時
3:ttl:查看還有多少秒過時,格式是ttl key值,-1表示永不過時,-2表示已過時
4:persist:設置成永不過時,格式是persist key值,刪除key的過時設置;另外使用set或
者getset命令爲鍵賦值的時候,也會清除鍵的過時時間
5:pttl:查看還有多少毫秒過時,格式是pttl key值
6:pexpire:設置過時時間,格式是pexpire key值毫秒數
7:pexpireat:設置過時時間,格式是pexpireat key值到毫秒的時間戳