redis作为缓存的特点和数据瓶颈处理原理

1.缓存特点

1.缓存数据不是特别重要

2.缓存数据允许丢失

3.随着访问变化热点数据

2.缓存存在的问题

随着业务运转,缓存数据越来越大,而内存有限,存在瓶颈。

redis对于这个问题有两种解决方案:

1.根据业务逻辑为数据设置过期时间

设置过期时间的特点:

a、访问数据不会改变数据的过期时间

b、修改数据会使过期时间失效

c、设置过期时间后,进入倒计时,当倒计时结束后,数据失效

过期数据的回收策略:

a、被动回收:当数据被访问的时候,判断过期时间倒计时是否结束,是的话,将数据从内存中删除

b、主动回收:随机N个数据进行遍历,判断过期时间倒计时是否结束,是的话将数据从内存中删除。

2.根据业务的运转,设置maxmemory阈值,当内存大小达到该值时进行回收策略,redis的回收策略:

a、allkeys-rand:从所有缓存结果集中随机删除一部分数据

b、volatile-rand:从设置了过期时间的结果集中随机删除一部分数据

c、allkeys-LRU:从所有缓存结果集中删除最少使用的一部分数据

d、volatile-LRU:从设置了过期时间的结果集中删除最少使用的一部分数据

e、volatile-ttl:从设置了过期时间的结果集中删除里过期时间最近的一部分数据

f、none:当缓存的数据大小达到maxmemory阈值的时候,不删除数据,同时也不再支持添加数据

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容