在 CentOS 上配置 Redis 内存,通常包含 Redis 自身内存限制配置 和 系统层面注意事项。下面按常见场景说明。
vi /etc/redis.conf
# 或
vi /etc/redis/redis.conf
maxmemory 2gb
支持单位:
1gb512mb1024mbmaxmemory-policy allkeys-lru
常见策略:
noeviction:不淘汰,写报错(默认)allkeys-lru:所有 key LRU 淘汰(最常用)volatile-lru:只淘汰带过期时间的 keyallkeys-random:随机淘汰volatile-ttl:优先淘汰快过期的systemctl restart redis
redis-cli
CONFIG SET maxmemory 2gb
CONFIG SET maxmemory-policy allkeys-lru
重启后失效
redis-cli info memory
重点关注:
used_memorymaxmemorymem_fragmentation_ratioswapoff -a
并注释 /etc/fstab 中 swap 行
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
sysctl -p
echo never > /sys/kernel/mm/transparent_hugepage/enabled
docker run -d \
--name redis \
-p 6379:6379 \
redis:7 \
redis-server --maxmemory 1gb --maxmemory-policy allkeys-lru
如果你能说明:
我可以给你更精确的配置建议。