【Redis】内存回收和内存淘汰机制
Redis的内存回收和淘汰机制是通过配置文件中的maxmemory
指令和相关配置来管理的。
设置最大内存使用量:
在
redis.conf
文件中设置maxmemory
指令,指定Redis最大使用的物理内存量。
maxmemory <bytes>
内存淘汰机制:
当Redis达到
maxmemory
限制时,会根据maxmemory-policy
指令定义的策略来淘汰一些键。
maxmemory-policy noeviction
常见的淘汰策略有:
noeviction
: 不进行任何淘汰,当内存达到限制时,新写入命令会报错。allkeys-lru
: 根据最少最近使用算法(LRU),移除不常使用的键。volatile-lru
: 只对设置了过期时间的键进行LRU淘汰。allkeys-random
: 随机移除键。volatile-random
: 随机移除设置了过期时间的键。volatile-ttl
: 移除即将过期的键。
例子:
maxmemory 2gb
maxmemory-policy allkeys-lru
这个配置将Redis最大内存设置为2GB,并且在达到这个限制时,会使用LRU算法来淘汰不常使用的键。
评论已关闭