Heim  >  Fragen und Antworten  >  Hauptteil

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

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

巴扎黑巴扎黑2733 Tage vor885

Antworte allen(4)Ich werde antworten

  • 天蓬老师

    天蓬老师2017-04-25 09:04:27

    检查一下是不是内存不够用了,内存不够用的话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(驱逐):禁止驱逐数据

    Antwort
    0
  • ringa_lee

    ringa_lee2017-04-25 09:04:27

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

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

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

    看日志吧。

    Antwort
    0
  • PHP中文网

    PHP中文网2017-04-25 09:04:27

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

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-25 09:04:27

    http://huangyunbin.iteye.com/blog/1894583

    Antwort
    0
  • StornierenAntwort