1. 程式人生 > >redis內存不夠 : OOM command not allowed when used memory > ‘maxmemory’

redis內存不夠 : OOM command not allowed when used memory > ‘maxmemory’

TP 替換 code 資源 解決 默認 機制 沒有 vol

Redis內存不夠,報錯。

三種解決思路

註:如修改了配置文件需重啟redis

1. 增加redis內存,修改redis.conf(集群中為redis-env.sh),默認為1024MB,增加到合適的內存。

maxmemory 2gb

技術分享圖片

2. 修改redis存儲策略

默認的redis設置是非常保守的,即內存超限後就不在存儲,可以把策略修改為LRU算法(最近最少使用算法)——新存儲的信息會替換掉舊的信息,從而不會是內存越線,修改redis.conf。這個必須結合業務場景,如果沒有自動加載數據到redis的緩存機制,會造成數據缺少。我覺得可以往這方面靠,能最大利用資源。

maxmemory-policy volatile-lru

技術分享圖片

3. 少往reids存數據

是否有必要把這麽多數據存入redis?

redis內存不夠 : OOM command not allowed when used memory > ‘maxmemory’