我在Azure中有一个redis缓存,maxmemory策略设置为Volatile-LRU。写信给Redis时,我没有为密钥添加到期时间。在这种情况下,当缓存内存被填满时会发生什么?
答案 0 :(得分:1)
根据volatile-lru
政策,redis永远不会在没有到期的情况下驱逐密钥。如果所有内存都被没有设置到期的密钥用完,那么下次使用需要分配更多内存的命令时,比如SET
,命令将失败,您将收到此错误消息:
OOM command not allowed when used memory > 'maxmemory'
您仍然可以使用不会分配内存的命令,例如GET
。如果您将数据库置于此状态,则可以使用EXPIRE
命令在事后设置密钥和到期时间。