前言
我们知道Redis是分布式缓存中间件,它是基于内存运行,可是有没有想过比较好的服务器内存也不过几十G,能存多少数据呢,当内存占用满了之后该怎么办呢?需要存储新的数据到缓存中该如何办?...就这些问题,接下来本文带你了解redis的内存回收机制。...为什么需要内存回收
在redis缓存中,set 指令可以指定 key的过期时间,当过期时间达到以后,key就会失效,那么redis就得将该key的内存进行释放掉。...redis回收机制有两部分
过期删除策略
内存淘汰策略
过期删除缓存策略
过期删除策略是指删除缓存中到期的数据key
Redis对于过期键有三种清除策略:
被动删除:当读/写一个已经过期的key时,会触发惰性删除策略...maxmemory:该参数在redis.conf文件中,如下图
通过maxmemory-policy参数来设置内存淘汰策略,当Redis所使用的内存达到maxmemory所设定的值时就会触发该策略。