温馨提示×

centos redis内存怎么配置

小樊
37
2026-09-02 19:52:14
栏目: 云计算

在 CentOS 上配置 Redis 内存,通常包含 Redis 自身内存限制配置系统层面注意事项。下面按常见场景说明。


一、Redis 内存限制配置(最常用)

1. 修改 redis.conf

vi /etc/redis.conf
# 或
vi /etc/redis/redis.conf

2. 设置最大内存

maxmemory 2gb

支持单位:

  • 1gb
  • 512mb
  • 1024mb

3. 设置内存淘汰策略

maxmemory-policy allkeys-lru

常见策略:

  • noeviction:不淘汰,写报错(默认)
  • allkeys-lru:所有 key LRU 淘汰(最常用)
  • volatile-lru:只淘汰带过期时间的 key
  • allkeys-random:随机淘汰
  • volatile-ttl:优先淘汰快过期的

4. 重启 Redis

systemctl restart redis

二、临时配置(不重启)

redis-cli
CONFIG SET maxmemory 2gb
CONFIG SET maxmemory-policy allkeys-lru

重启后失效


三、查看当前内存使用情况

redis-cli info memory

重点关注:

  • used_memory
  • maxmemory
  • mem_fragmentation_ratio

四、CentOS 系统层面注意点

1. 关闭 swap(推荐)

swapoff -a

并注释 /etc/fstab 中 swap 行

2. 内核参数(避免 OOM)

echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
sysctl -p

3. 透明大页(建议关闭)

echo never > /sys/kernel/mm/transparent_hugepage/enabled

五、Docker 中 Redis 内存配置

docker run -d \
  --name redis \
  -p 6379:6379 \
  redis:7 \
  redis-server --maxmemory 1gb --maxmemory-policy allkeys-lru

如果你能说明:

  • Redis 版本
  • 是否 Docker
  • 内存大小 & 使用场景(缓存 / 持久存储)

我可以给你更精确的配置建议。

0