常用的缓存问题及解决方案

缓存问题
1、常用的缓存有 :
    Cache Aside:缓存中无数据,从数据库中读取,读取完成后返回用户并加入缓存。
        存在的问题是:如果两个操作,一个读操作,缓存未命中,从数据读取数据,加入缓存。这是在一个写操作:更新了数据,清空了缓存。
                      但是第一个读操作的再把老数据写入数据库。就造成了脏数据。
    Read-throug:当应用系统向缓存系统请求数据时(例如使用key=x向缓存请求数据);
        如果缓存中并没有对应的数据存在(key=x的value不存在),缓存系统将向底层数据源的读取数据,检索数据后,缓存会自行更新并将数据返回给调用应用程序。
        如果数据在缓存中存在(命中key=x),则直接返回缓存中存在的数据。这就是所谓的Read-throug。
    Write-Through
        当数据发生更新的时候,先去Cache里面进行更新,如果命中了,则先更新缓存再由Cache方来更新database。如果没有命中的话,就直接更新Cache里面的数据。
    Write-Behind :先将数据写入到缓存里面,然后再异步的写入到database中进行数据同步。
        这样的设计既可以直接的减少我们对于数据的database里面的直接访问,降低压力,同时对于database的多次修改可以进行合并操作,极大的提升了系统的承载能力。
        但是这种模式处理缓存数据具有一定的风险性,例如说当cache机器出现宕机的时候

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值