在Debian上优化Redis内存管理可从以下方面入手:
/etc/redis/redis.conf
,设置maxmemory
参数(如maxmemory 4gb
),避免Redis占用过多系统内存。maxmemory-policy
,常用策略包括:
allkeys-lru
:从所有键中淘汰最近最少使用的键(适合缓存场景)。volatile-lru
:仅从设置了过期时间的键中淘汰(适合有过期数据的场景)。noeviction
:不淘汰数据,内存满时拒绝写入(需确保内存充足)。maxmemory-samples
参数(默认5)增加采样数量,提升淘汰准确性,但会增加CPU消耗。vm.overcommit_memory=1
,允许Redis在低内存时申请更多内存。echo never > /sys/kernel/mm/transparent_hugepage/enabled
,减少内存分配延迟。redis-cli info memory
监控内存使用情况,重点关注used_memory
和used_memory_rss
。evicted_keys
计数器,判断淘汰策略是否合理。配置修改后需重启Redis服务生效:sudo systemctl restart redis-server
。