缓存世界中的三大问题及解决方案

本文探讨了缓存使用中常见的三大问题:缓存穿透、缓存雪崩和热点数据集中失效,以及相应的解决方案。缓存穿透可以通过缓存空数据或使用BloomFilter避免,缓存雪崩可以通过使用缓存集群和Hystrix防止,热点数据集中失效则可以采用互斥锁或设置不同失效时间来缓解。
摘要由CSDN通过智能技术生成

目前的IO设备远不能满足互联网应用海量的读写请求。于是便出现了缓存,利用内存的高速读写性能来应付海量的查询请求。然而内存资源非常宝贵,将全量数据存储在内存中显然是不切合实际的。因此目前采用内存和IO结合的方式,内存只存储热点数据,而IO设备存储全量数据。
缓存的设计包含很多技巧,设计不当将会导致严重的后果。本文将介绍缓存使用中常见的三大问题,并给出相应的解决方案。

1. 缓存穿透

在大多数互联网应用中,缓存的使用方式如下图所示:
title

  1. 当业务系统发起某一个查询请求时,首先判断缓存中是否有该数据;
  2. 如果缓存中存在,则直接返回数据;
  3. 如果缓存中不存在,则再查询数据库,然后返回数据。

了解了上述过程后,下面说说缓存穿透。

1.1 什么是缓存穿透?

业务系统要查询的数据根本就存在!当业务系统发起查询时,按照上述流程,首先会前往缓存中查询,由于缓存中不存在,然后再前往数据库中查询。由于该数据压根就不存在,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值