首页 > 其他 > 详细

redis名词解释

时间:2021-04-29 17:58:03      阅读:14      评论:0      收藏:0      [点我收藏+]

 

redis 由来:因为大部分的数据库操作都是查询重复的操作,mysql需要让费很多的时间进行i磁盘I/O,所以就像cpu一样给mysql 加一个缓存  redis。

     先对mysql进行访问获取数据  然后把对应的数据放到redis中进行缓存 这样下次再来查询数据  就不需要访问mysql  直接在redis返回

 

缓存过期和 缓存淘汰

  一直把数据放到redis中 内存也会满  所以给缓存内容设置一个过期时间 ,过期了就删除内容  这样就释放内存了

  但是也不会全盘扫描,那样每个检查一下数据是否过期也会要很久影响当时的数据请求,所以就选择随机扫描  挑出一部分数据看是否过期  过期了就删除,进行定期随机删除来释放缓解内存压力

  但这样一来总有一些数据会一直没被选到  就一直占用空间

       惰性删除: 对应上面的这些没被发现的数据,只要被查询到 发现过期了 查询之后立刻被删除

       但这样就还有一部分数据 过期了 也没被随机到  也一直没被查询 就一直占着内存    这样就会时间长了 也会内存占满  这时就用到了 缓存淘汰

八大缓存淘汰

技术分享图片

 

 缓存穿透和布隆过滤

  缓存穿透:对于一些数据不存在的查询,redis没有数据自然要去mysql查询,又查不到数据白忙一次 下次还是这样  这样redis就没有起到缓存的作用这就叫缓存穿透

  布隆过滤器:就是可以从超大的数据集中找到你要的数据存在不存在(但返回存在可能不存在,但返回不存在 就一定不存在)

  应用程序结合布隆  不存在数据的请求就不会再去访问数据库了

 

缓存击穿和缓存雪崩

  缓存击穿: 对于热点数据时间到期了 刚好被删除了 此时刚好被大量访问  造成数据库压力

  缓存雪崩: 对于一批热点数据一块到期  刚好被删除  此时又有更多的访问  造成数据库更大的压力

 

解决方法:热点数据永不过期  其他过期时间设置均匀一点 随机一点    尽量不出现大量数据集体过期的情况

redis名词解释

原文:https://www.cnblogs.com/xrxc/p/14717755.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!