爬蟲和轉載請注明原文地址:博客園蝸牛 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.