温馨提示×

centos redis内存怎样配置

小樊
38
2026-10-02 22:14:13
栏目: 云计算

在 CentOS 上配置 Redis 内存,主要涉及 redis.conf 中的内存限制参数 以及 系统层面的一些优化。下面按常见场景说明。


一、Redis 内存配置(核心)

1. 配置文件位置

通常是:

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

编辑:

vi /etc/redis.conf

2. 限制 Redis 最大使用内存(最重要)

maxmemory 2gb

常见写法:

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

不配置 maxmemory 时,Redis 会一直使用内存,直到系统 OOM。


3. 内存淘汰策略(必须配合 maxmemory)

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

maxmemory-policy allkeys-lru

常用策略:

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

✅ 推荐缓存场景:

maxmemory 2gb
maxmemory-policy allkeys-lru

二、修改后重启 Redis

systemctl restart redis

或

systemctl restart redis-server

查看是否生效:

redis-cli
CONFIG GET maxmemory
CONFIG GET maxmemory-policy

三、CentOS 系统层面注意点

1. 关闭 Swap(或减小使用)

Redis 不建议使用 Swap:

swapoff -a

或调整:

sysctl vm.swappiness=1

2. 内存分配限制(重要)

CentOS 默认可能限制:

sysctl vm.overcommit_memory=1

写入:

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

3. 透明大页(THP)关闭(Redis 官方建议)

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

永久生效:

vi /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled

四、查看 Redis 内存使用情况

redis-cli info memory

重点看:

  • used_memory
  • used_memory_human
  • maxmemory

五、常见配置示例(2G 缓存)

maxmemory 2gb
maxmemory-policy allkeys-lru

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

  • Redis 版本
  • CentOS 版本
  • 是缓存还是数据库用途

我可以给你一份更精确的配置方案。

0 踩