Redsi的持久化+淘汰策略
Redis 提供了多种数据持久化方式,包括 RDB 和 AOF,以及从 Redis 4.0 开始的 RDB-AOF 混合持久化。同时,Redis 提供了多种淘汰策略来管理内存的使用,包括:
- noeviction: 不进行任何淘汰,当内存不足时,会返回错误给客户端。
- allkeys-lru: 当内存不足以容纳更多数据时,使用最近最少使用算法(LRU)淘汰键。
- volatile-lru: 只对设置了过期时间的键进行 LRU 淘汰。
- allkeys-random: 随机淘汰键。
- volatile-random: 随机淘汰设置了过期时间的键。
- volatile-ttl: 淘汰即将过期的键,优先淘汰 TTL 较短的键。
以下是一个 Redis 配置文件的示例,其中包含了持久化和淘汰策略的配置:
# 开启 RDB 持久化,保存到 disk.rdb 文件
save 900 1
save 300 10
save 60 10000
# 开启 AOF 持久化
appendonly yes
# 设置淘汰策略为 allkeys-lru
maxmemory-policy allkeys-lru
# 设置最大内存使用量
maxmemory 2gb
在这个配置中,我们设置了三个不同的保存点来进行 RDB 快照,同时开启了 AOF 持久化。我们还设置了淘汰策略为 allkeys-lru,并限制了 Redis 使用的最大内存为 2GB。这样的配置可以保证数据的持久性,同时在内存接近满时使用 LRU 算法来淘汰不常使用的键,保证常用数据的存活。
评论已关闭