标签:redis 并且 pex and 去除 超出 timestamp 策略 函数
TTL key : 获取key的过期剩余时间,不存在返回-2 无过期时间返回-1
PTTL key : 同TTL,毫秒
EXPIRE key ttl : 将键的生存时间设为 ttl 秒
PEXPIRE key ttl :将键的生存时间设为 ttl 毫秒
EXPIREAT key timestamp :将键的过期时间设为 timestamp 所指定的秒数时间戳
PEXPIREAT key timestamp: 将键的过期时间设为 timestamp 所指定的毫秒数时间戳
PERSIST key : 去除ttl属性,不会过期
由于被动删除策略无法保证过期数据被及时删除,所以Redis会定期主动淘汰一批已过期的key
Redis会周期性的随机测试一批设置了过期时间的key,比如每隔100毫秒执行以下步骤:
1.随机检测100个设置了过期时间的key
2.删除已过期的key
3.若删除的key超过25个则重复步骤1
如果有大量的key同时到期,Redis会持续重复上述操作,直到百分比降到25%以下,此操作会持续占用线程资源,导致阻塞
清除策略
1. volatile-lru:只对设置了过期时间的key进行LRU(默认)
2. allkeys-lru : 删除lru算法的key
3. volatile-random:随机删除即将过期key
4. allkeys-random:随机删除
5. volatile-ttl : 删除即将过期的
6. noeviction : 永不过期
标签:redis 并且 pex and 去除 超出 timestamp 策略 函数
原文地址:https://www.cnblogs.com/gossip/p/13857142.html