温馨提示×

centos redis配置怎么限制内存

小樊
32
2026-10-05 19:38:21
栏目: 云计算

在 CentOS 上限制 Redis 内存使用,主要通过 redis.conf 配置参数 来实现。下面按常见场景说明。


一、修改 Redis 配置文件(推荐)

1. 找到配置文件

一般路径:

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

2. 设置最大内存

编辑配置文件:

vi /etc/redis.conf

找到或添加:

maxmemory 512mb

支持的单位:

  • kb
  • mb
  • gb

例如:

maxmemory 1gb
maxmemory 256mb

二、设置内存淘汰策略(很重要)

只限制内存不够时,Redis 需要知道怎么处理旧数据。

常用淘汰策略

maxmemory-policy allkeys-lru

常见策略说明:

策略 说明
noeviction 不淘汰,写操作报错(默认)
allkeys-lru 所有 key 中使用 LRU 淘汰
volatile-lru 只淘汰设置了过期时间的 key
allkeys-random 随机淘汰
volatile-random 随机淘汰有过期时间的 key
volatile-ttl 淘汰剩余时间最短的 key

✅ 一般推荐:

maxmemory 1gb
maxmemory-policy allkeys-lru

三、重启 Redis 使配置生效

systemctl restart redis

或

systemctl restart redis-server

四、临时生效(不重启)

进入 Redis:

redis-cli

执行:

CONFIG SET maxmemory 512mb
CONFIG SET maxmemory-policy allkeys-lru

⚠️ 重启后会失效。


五、验证配置

redis-cli
CONFIG GET maxmemory
CONFIG GET maxmemory-policy

六、CentOS 系统级限制(可选)

如果你希望 OS 层面也限制(防止 Redis 被 OOM):

  • 使用 systemd 的 MemoryLimit
  • 或使用 cgroup

示例(systemd):

[Service]
MemoryLimit=1G

如果你愿意,我可以:

  • 帮你写一份 生产环境 Redis 内存配置模板
  • 或根据你的 业务类型(缓存 / 持久存储) 给建议

0 踩