Redis所需內存 超過可用內存怎么辦


 

爬蟲和轉載請注明原文地址:博客園蝸牛 http://www.cnblogs.com/tdws/p/5727633.html

我們知道,redis設置配置文件的maxmemory參數,可以控制其最大可用內存大小(字節)。

那么當所需內存,超過maxmemory怎么辦?

這個時候就該配置文件中的maxmemory-policy出場了。

其默認值是noeviction

下面我將列出當可用內存不足時,刪除redis鍵具有的淘汰規則。

 

規則名稱 規則說明
volatile-lru 使用LRU算法刪除一個鍵(只對設置了生存時間的鍵)
allkeys-lru 使用LRU算法刪除一個鍵
volatile-random 隨機刪除一個鍵(只對設置了生存時間的鍵)
allkeys-random 隨機刪除一個鍵
volatile-ttl 刪除生存時間最近的一個鍵
noeviction 不刪除鍵,只返回錯誤

LRU算法,least Recently Used,最近最少使用算法。也就是說默認刪除最近最少使用的鍵。

但是一定要注意一點!redis中並不會准確的刪除所有鍵中最近最少使用的鍵,而是隨機抽取3個鍵,刪除這三個鍵中最近最少使用的鍵。

那么3這個數字也是可以設置的,對應位置是配置文件中的maxmeory-samples.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM