有關redis做cache優化

公司redis一直是用來做cache緩存的,如果不對其做優化,默認淘汰機制,在內存使用達到上限後會出現各種命令報錯。
官方如下描述
noeviction: return errors when the memory limit was reached and the client is trying to execute commands that could result in more memory to be used (most write commands, but DEL and a few more exceptions).
谷歌翻譯
noeviction:當達到內存限制並且客戶端嘗試執行可能導致使用更多內存的命令時返回錯誤(大多數寫命令,但DEL和一些例外)。

既然作爲cache就需要做優化
在線修改
登陸
##***:6379>
CONFIG SET SAVE " " 關閉本地持久化
CONFIG SET maxmemory 10G 使用最大內存(結合實際內存資源)
CONFIG SET maxmemory-policy "allkeys-lru" 設置達到最大內存後的淘汰機制

官方對淘汰機制的描述。
allkeys-lru: evict keys by trying to remove the less recently used (LRU) keys first, in order to make space for the new data added.
谷歌翻譯
allkeys-lru:首先嚐試刪除最近使用較少的(LRU)密鑰來逐出密鑰,以便爲添加的新數據騰出空間。

在線修改會在重啓後失效以下爲配置文件永久添加設置
vim redis.conf

maxmemory 10G
maxmemory-policy allkeys-lru
save ""
註釋以下選項
#save 900 1
#save 300 10
#save 60 10000

有關redis-cache其他的優化以及淘汰機制選擇請參考官方
https://redis.io/topics/lru-cache

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章