CentOS 上的 Redis 缓存淘汰策略可以通过配置文件 redis.conf 或者在运行时通过命令行来设置。Redis 提供了多种淘汰策略,以满足不同的使用场景。以下是一些常用的淘汰策略:
noeviction:当内存不足以容纳新写入数据时,新写入操作会报错。所有读写操作都会返回错误,直到有足够的内存可用。
allkeys-lru:从所有 key 中选择最近最少使用的 key 进行淘汰。
volatile-lru:从设置了过期时间的 key 中选择最近最少使用的 key 进行淘汰。
allkeys-random:从所有 key 中随机选择一个进行淘汰。
volatile-random:从设置了过期时间的 key 中随机选择一个进行淘汰。
volatile-ttl:从设置了过期时间的 key 中选择剩余生存时间(TTL)最短的 key 进行淘汰。
要设置淘汰策略,请按照以下步骤操作:
打开 redis.conf 配置文件。通常位于 /etc/redis/redis.conf。
sudo vi /etc/redis/redis.conf
在配置文件中找到 maxmemory-policy 配置项。如果找不到,请在文件末尾添加。
将 maxmemory-policy 设置为你想要的淘汰策略。例如,如果你想使用 LRU 策略,可以设置为:
maxmemory-policy allkeys-lru
保存并关闭配置文件。
重启 Redis 服务以使更改生效。
sudo systemctl restart redis
或者
sudo service redis restart
现在,Redis 已经根据你设置的淘汰策略来管理内存了。请注意,为了确保 Redis 正常工作,你需要同时设置 maxmemory 配置项,以限制 Redis 可以使用的最大内存。例如:
maxmemory 256mb