哪些maxmemory策略允许在Redis中过期?

哪些maxmemory策略允许在Redis中过期?,redis,ttl,nosql,Redis,Ttl,Nosql,哪些maxmemory策略与redis过期机制兼容 它是否仅为挥发性ttl?noeviction是否阻止了旧记录的死亡?请参见以下内容: MAXMEMORY策略:当使用MAXMEMORY时,Redis将如何选择要删除的内容 到达。您可以从五种行为中进行选择: 易失性lru->使用lru算法删除带有过期集的密钥 所有密钥lru->根据lru算法删除任何密钥 volatile random->删除带有过期集的随机密钥 所有随机键->删除随机键、任意键 易失性ttl->删除过期时间最近的密钥(次要tt

哪些maxmemory策略与redis过期机制兼容

它是否仅为挥发性ttl?noeviction是否阻止了旧记录的死亡?

请参见以下内容:

MAXMEMORY策略:当使用MAXMEMORY时,Redis将如何选择要删除的内容 到达。您可以从五种行为中进行选择:

易失性lru->使用lru算法删除带有过期集的密钥

所有密钥lru->根据lru算法删除任何密钥

volatile random->删除带有过期集的随机密钥

所有随机键->删除随机键、任意键

易失性ttl->删除过期时间最近的密钥(次要ttl)

noeviction->根本不过期,只需返回写操作错误即可

注意:对于上述任何策略,Redis都会在写入时返回错误 操作,当没有合适的键进行逐出时

  At the date of writing these commands are: set setnx setex append
  incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd
  sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby
  zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby
  getset mset msetnx exec sort
默认值为:

maxmemory策略noeviction

如果您将策略保持为默认的“noeviction”,或者如果您选择任何
volatile-*
策略,而数据库中实际上没有过期的密钥,那么数据将无限期地保留在Redis中。但是,请记住,如果不从Redis中删除数据并继续添加更多数据,最终会耗尽内存