搜尋

首頁  >  問答  >  主體

redis會在一段時間內遺失數據,為什麼?

我透過sadd寫入set中一些數據,但是過個一兩天數據就會遺失?
沒有設定logfile,所以日誌暫時看不到。
初學redis,還不太懂。

巴扎黑巴扎黑2774 天前916

全部回覆(4)我來回復

  • 天蓬老师

    天蓬老师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(驅逐):禁止驅逐資料

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-25 09:04:27

    是特定某些資料遺失,還是全部redis資料都遺失。

    如果是全部,可能有定時清空redis的任務在運作。
    如果只有一部分set中的數據,估計只能是手動刪除的。

    key類型的才有過期時間一說。集合沒有。

    看日誌吧。

    回覆
    0
  • PHP中文网

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

    應該是有一個過期時間,我了解的也不多

    回覆
    0
  • 伊谢尔伦

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

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

    回覆
    0
  • 取消回覆