redis官方給的警告,當記憶體不足時,redis會根據配置的快取策略淘汰部分keys,以保證寫入成功。當無淘汰策略時或沒有找到適合淘汰的key時,redis直接返回out of memory錯誤。
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(驅逐):禁止驅逐資料
Redis快取淘汰策略
在使用redis時,我們一般會為redis的快取空間設定乙個大小,不會讓資料無限制的放入redis快取。對於 redis 來說,一旦確定了快取最大容量,比如 4gb,你就可以使用下面這個命令來設定快取的大小了 config set maxmemory 4gb redis設定了快取的容量大小,那麼快取...
Redis的快取淘汰策略
先進先出演算法 fifo least frequently used lfu 淘汰一定時期內被訪問次數最少的頁面,以次數作為參考 least recently used lru 淘汰最長時間未被使用的頁面,以時間作為參考 這些演算法在不同層次的快取上執行時擁有不同的效率和代價,需根據具體場合選擇最合...
Redis淘汰策略
將 redis 用作快取時,如果記憶體空間用滿,就會自動驅逐老的資料。maxmemory用於指定 redis 能使用的最大記憶體。既可以在redis.conf檔案中設定,也可以在執行過程中通過 config set 命令動態修改 當記憶體使用達到最大限制時,如果需要儲存新資料,根據配置的策略 pol...