我正在redis
中使用这样的python
列表:
listitem = r.rpoplpush('mylist','mylist')
奇怪的是,该列表随机为空-例如,它将在一个月内不被清空的情况下工作,然后在一天之内被清空?我在这里想念什么?我的脚本中没有其他语句可以以任何方式触及该脚本。
[Redis中没有空列表,如果将列表一直进行RPOP,则将删除该键。
所以,其中之一应该发生:
mylist
一直被清空(LPOP,RPOP,LREM,LTRIM等),直到清空为止。mylist
(DEL,UNLINK等)mylist
已过期(EXPIRE,EXPIEAT等)如果没有Redis客户端触摸键(1-3),则必须为4或5。
查看服务器中是否使用eviction policy设置了一些CONFIG GET maxmemory-policy
。
如果没有persistence,并且重新启动服务器,则可能会发生数据丢失。或者,如果您使用的不止一个实例(集群或哨兵),则出问题了。您可以使用INFO
命令查看:
redis_mode
和uptime_in_days
。maxmemory_policy
和evicted_keys
会告诉我们是否正在应用策略]