温馨提示×

centos redis配置内存怎么调

小樊
48
2026-09-21 03:35:37
栏目: 云计算

在 CentOS 上调整 Redis 的内存配置,通常是通过修改 redis.conf 文件并重启或热加载配置来完成的。下面按常见场景给你说明。


一、Redis 内存限制核心参数

1. 最大内存限制(最重要)

maxmemory 2gb

常见写法:

  • maxmemory 512mb
  • maxmemory 2gb
  • maxmemory 4g

不设置或设为 0 表示不限制(依赖系统内存)

2. 内存淘汰策略

当内存达到 maxmemory 时使用:

maxmemory-policy allkeys-lru

常用策略:

  • noeviction:不淘汰,写操作报错(默认)
  • allkeys-lru:所有 key 使用 LRU 淘汰
  • volatile-lru:只淘汰带过期时间的 key
  • allkeys-random:随机淘汰
  • volatile-ttl:按过期时间淘汰

二、CentOS 上修改步骤

1. 找到 redis.conf

常见位置:

/etc/redis.conf
/etc/redis/redis.conf

查找:

find / -name redis.conf

2. 修改配置

vim /etc/redis.conf

修改或添加:

maxmemory 2gb
maxmemory-policy allkeys-lru

3. 重启 Redis

如果是 systemd:

systemctl restart redis
# 或
systemctl restart redis-server

如果是编译安装:

redis-cli shutdown
redis-server /etc/redis.conf

三、不重启生效(热修改)

适合生产环境临时调整:

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

⚠️ 注意:

  • 热修改重启后失效
  • 建议同时改 redis.conf

四、查看当前内存情况

redis-cli info memory

重点看:

  • used_memory
  • used_memory_human
  • maxmemory
  • maxmemory_policy

五、CentOS 系统层注意事项

1. 关闭 Swap(可选,提升性能)

swapoff -a

2. 内存 overcommit

echo 1 > /proc/sys/vm/overcommit_memory

3. 大内存建议

  • Redis 单线程
  • 单实例建议 ≤ 10~20GB
  • 大数据用集群

六、示例(4G 内存服务器)

maxmemory 3gb
maxmemory-policy allkeys-lru

如果你愿意,可以告诉我:

  • Redis 安装方式(yum / 编译)
  • CentOS 版本
  • 内存大小和用途(缓存 / 持久化)

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

0 踩