前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis-缓存穿透

Redis-缓存穿透

作者头像
别明天就今天吧
发布2020-09-07 19:04:35
3510
发布2020-09-07 19:04:35
举报

缓存穿透:查询一个根本不存在的数据,缓存和数据库都不会命中,这样每次这类的查询都会透过缓存层查数据库,造成后端数据库压力增大。

如何解决:

1.缓存空对象

查询数据库后没有命中,仍然把空值存到缓存中,并且设置一个较短的时间如300s,这样再次访问就会从缓存层中读取到结果。

2.布隆过滤器

在缓存层之前,把存在的key用布隆过滤器保存起来,做第一层拦截,以保存缓存和存储层。

两种方案的对比,第一种更为常用,适用于数据频繁变化实时性高,而且代码实现容易,但是增了缓存空间。第二种过滤器,适用于相对固定的实时性低的场景,代码实现复杂,缓存空间占用小,各有利弊自己衡量。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 别明天就今天吧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档