内存满了,有几种方法:
1、增加内存
2、设置内测淘汰策略maxmemory-policy,可设置为volatile-ttl或allkeys-lru
volatile-ttl: 这个策略会根据键的过期时间来淘汰数据。优先淘汰那些过期时间较早的键。适用于缓存中有明确过期时间的场景。maxmemory-policy volatile-ttl
allkeys-lru: 这个策略会根据最近最少使用的原则淘汰数据,不考虑过期时间。适用于无明确过期时间,但希望保留最常用数据的场景。
maxmemory-policy allkeys-lru
3、限制内存分配大小为实际内存的一半或95%,这样可以在Redis使用内存接近极限时预留一些空间,防止因为内存不足而导致系统性能下降或者OOM错误。
maxmemory 2GB # 可用内存的一半
或者设置为可用内存的95%:
maxmemory 95% # 可用内存的95%
网友回复