温馨提示×

centos redis如何配置内存

小樊
45
2026-10-20 10:01:34
栏目: 云计算

在 CentOS 上配置 Redis 内存,主要通过 修改 redis.conf 配置文件 来实现。下面按常见场景说明。


一、找到 Redis 配置文件

通常位置:

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

查看 Redis 是否运行及配置文件位置:

redis-cli info server | grep config_file

二、配置最大内存(最重要)

1️⃣ 设置 maxmemory

编辑配置文件:

vi /etc/redis.conf

找到或添加:

maxmemory 2gb

可选单位:

  • bytes(默认)
  • kb
  • mb
  • gb

示例:

maxmemory 512mb
maxmemory 4gb

⚠️ 如果不设置,Redis 会使用系统所有可用内存,可能导致 OOM。


2️⃣ 设置内存淘汰策略(maxmemory-policy)

当内存达到上限时的处理方式:

maxmemory-policy allkeys-lru

常用策略:

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

推荐:

  • 缓存场景:allkeys-lru
  • 保留重要数据:volatile-lru

三、重启 Redis 生效

systemctl restart redis
# 或
systemctl restart redis-server

验证:

redis-cli config get maxmemory
redis-cli config get maxmemory-policy

四、临时修改(不重启)

redis-cli config set maxmemory 2gb
redis-cli config set maxmemory-policy allkeys-lru

⚠️ 重启后失效,建议同时改配置文件


五、查看 Redis 内存使用情况

redis-cli info memory

重点看:

  • used_memory
  • used_memory_human
  • maxmemory

六、结合 CentOS 系统建议

  1. 预留系统内存
    • 示例:8G 服务器,maxmemory 设 6G
  2. 开启 swap(不推荐但可兜底)
  3. 监控内存
    free -h
    top
    

七、示例完整配置

maxmemory 4gb
maxmemory-policy allkeys-lru

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

  • Redis 版本
  • 服务器内存大小
  • 用作缓存还是数据库

我可以帮你给出最优内存配置方案。

0 踩