Redis
文章平均质量分 66
懒羊羊灬
这个作者很懒,什么都没留下…
展开
-
Redis缓存淘汰之LRU
我们知道Redis是基于内存来存储数据的,这也是它之所以查询速度这么快的原因之一。但是在数据量较大的场景下如果一直网缓存中存数据那么就会报OOM异常,因此我们就需要使用下面八种缓存淘汰策略对缓存进行删除处理。 1、noeviction:返回错误当内存限制达到,并且客户端尝试执行会让更多内存被使用的命令。 2、allkeys-lru: 尝试回收最少使用的键(LRU),使得新添加的数据有空间存放。 3、volatile-lru: 尝试回收最少使用的键(LRU),但仅限于在过期集合的键,使得新添加的数据有空间存原创 2021-05-30 16:54:15 · 114 阅读 · 0 评论 -
一文搞懂Redis缓存穿透/击穿/雪崩
缓存穿透 问题描述 缓存穿透是指查询一个一定不存在的数据,由于缓存时不命中的,则需要从数据库中查询。查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库中去查询,进而增大了数据库的压力。如不断发起“id=-1”等不可能存在的数据的请求,此时缓存中没有就会向DB读取进而可能导致DB挂掉。 解决方案 1、增加接口层校验 2、每次查询数据库不存在的数据时缓存一个空对象,并设置过期时间(解决单个不存在的key多次查询,造成内存空间浪费) 3、使用布隆过滤器(注意:必须将所有的key都放到布隆过滤器和原创 2021-05-29 21:13:18 · 149 阅读 · 1 评论