Redis数据的缓存问题

缓存概述

        缓存,简单来讲就是一个数据,由A容器取出来存放在B容器中,B容器中存放的数据就可以被称为缓存,而缓存一致性就是,B容器中的数据根据A容器中的数据的变换从而进行变化,这个就叫做缓存一致性。

怎么有效保证缓存一致性

        保证缓存的一致性方法有很多种,根据不同的应用场景有不同的解决方法,但也大体分为以下几种:

                1,对缓存设置有效期,到期重新缓存。

                2,数据库方面数据改变时通知reids做删除操作,进而重新对数据进行缓存。

                3,使用延时双删对数据的一致性进行保证,简单来讲就是在rdis方面通过删除后延迟0.1

        秒再次进行删除保证缓存一致性。

以上1,2方法大部分情况是要进行配合使用,两者都有部分问题

缓存的击穿,穿透,雪崩

        1,击穿:

                缓存的击穿就是当前redis的缓存热点数据到期,请求访问至数据库方面,由于访问请求

        过多,而数据库处理该类请求的速度远不及redis,所以数据库方面的执行压力就会加大,解

        决方案就是,使用本地锁或者分布式锁保证数据存在。

        2,穿透:

                缓存的穿透,简单来讲就是恶意的攻击,该请求访问了数据库中不存在的数据。解决方

        案就是,使用布隆过滤器进行过滤。

        3,雪崩:

                雪崩的情况与击穿略微类似,都是属于数据库方面压力增加,雪崩就是,redis中存放的

        多个热点数据同时到期,巨量的访问请求来到数据库这里。这就是缓存的雪崩,而处理雪崩

        的方法就是在存储热点数据的同时,给热点数据设置一个随机的有效期即可。

  • 14
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值