redis会在一段时间内丢失数据,为什么?

我通过sadd写入set中一些数据,但是过个一两天数据就会丢失?
没有设置logfile,所以日志暂时看不到。
初学redis,还不太懂。

阅读 16.8k
4 个回答

检查一下是不是内存不够用了,内存不够用的话redis会进行内存回收的,具体策略如下:
volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰
volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰
volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰
allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰
allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰
no-enviction(驱逐):禁止驱逐数据

是特定某些数据丢失,还是全部redis数据都丢失。

如果是全部,可能有定时清空redis的任务在运行。
如果只有一部分set中的数据,估计只能是手动删除的。

key类型的才有过期时间一说。集合没有。

看日志吧。

应该是有一个过期时间,我了解的也不多

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进