前言
小咸儿的项目中使用redis来做缓存,从而减轻数据库的压力,但是redis中的key和数据过期后,为什么内存空间还没有释放呢?如果内存空间将要满的时候该怎么办呢?接下来小咸儿就来解释一下该如何解决这两个问题。
过期策略:定期删除+惰性删除
redis中的key和数据过期后,为什么内存空间还没有释放呢?
既然提到redis的过期策略,那么该如何解决这个问题就有点苗头了。先来一张统领全局的图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190919111648921.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NzeHlwcg==,size_16,color_FFFFFF,t_70)
定期删除
redis默认每隔100ms就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除。
问题:因为是随