以下由Redis教學專欄為大家介紹redis資料淘汰策略,希望對需要的朋友有幫助!
1、淘汰簡介
Redis官方給予的警告,當記憶體不足時,Redis會根據配置的快取策略淘汰部分keys,以保證寫入成功。當無淘汰策略時或沒有找到適合淘汰的key時,Redis直接返回out of memory錯誤。
2、最大快取配置
在redis中,允許使用者設定的最大使用記憶體大小是 512G。
在 redis 中,允許使用者設定最大使用記憶體大小 server.maxmemory,在記憶體限定的情況下是很有用的。譬如,在一台 8G 機子上部署了 4 個 redis 服務點,每一個服務點分配 1.5G 的記憶體大小,減少記憶體緊張的情況,由此獲取更為穩健的服務。
3、6種資料淘汰策略
#1、volatile-lru:從已設定過期時間的資料集(server.db[ i].expires)中挑選最近最少使用的資料淘汰
2、volatile-ttl:從已設定過期時間的資料集(server.db[ i].expires)中挑選將要過期的資料淘汰
3、volatile-random:從已設定過期時間的資料集(server.db[i ].expires)中任意選擇資料淘汰
4、allkeys-lru:從資料集(server.db[i].dict)中挑選最近最少使用的資料淘汰
5、allkeys-random:從資料集(server.db[i].dict)中任意選擇資料淘汰
6、no-enviction(驅逐):禁止驅逐資料
4、建議
了解了Redis的淘汰策略之後,在平時使用時應盡量主動設定/更新key的expire時間,主動剔除不活躍的舊數據,有助於提升查詢效能。
Redis過期資料淘汰是指將鍵值對都刪除掉,請了解! ! ! ! ! ! ! ! ! ! ! ! !
以上是redis資料淘汰策略是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!