![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式缓存
文章平均质量分 83
Moutai码哥
广漂一枚,认真做好技术,等混不下去就回家卖酒,哈哈...
展开
-
【商城】redis分布式多级缓存应用(瓶颈之殇)
缓存 发发发 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增加了 图片拖拽 功能,你可以原创 2020-05-11 09:17:18 · 722 阅读 · 0 评论 -
【商城】redis大厂实战应用场景(一览众山小)
redis数据类型 redis数据类型有5种,分别是string、list、set、hash、zset,他们在各自领域里面都有哪些实践“应用场景”呢,请继续看完下面内容。 string(字符串) 也是我们最常用的数据类型,通常用于将数据转换后存储到到Redis缓存,常用的方法有set和get方法,这里就不做过多介绍。 计数器 INCR article:readcount:{文章id} Web集群session共享 Spring session + redis实现session共享 分布式系统全局序列号 I原创 2020-05-23 17:46:43 · 2005 阅读 · 0 评论 -
【商城】redis分布式缓存安全应用(穿透问题)
缓存穿透 什么是缓存穿透?缓存里面不存在数据,数据库里面也不存在的数据。新的请求(例如黑客恶意攻击:https://item.jd.com/6729892714444444.html查询一个不存在商品)进来会不断查询数据库,严重可能会导致数据库服务停止。 Null值返回解决方案: 如果数据库查询不到数据,缓存Null值的对象返回。 布隆过滤器 显然返回Null值方案存在问题,如果查询编码不存在数据,之后又新增了此编号的数据,将导致此数据永远查不到。 布隆过滤器(性能问题不用担心,可以自行查阅资料),例如将商原创 2020-05-14 17:20:08 · 240 阅读 · 0 评论 -
【商城】redis分布式缓存更新应用(击穿问题)
缓存击穿 什么是缓存击穿?数据库里面数据存在,缓存数据因某种原因不存在,导致大量请求到数据库获取数据现象。这种现象有可能会导致数据库connections数耗尽,严重会导致数据库服务停止。 分布式锁解决方案 防止请求穿透到数据库,可以使用分布式锁方式实现,例如查询商品数据; public Product getProductById(Long productId){ log.debug("查询商品信息id:{}", productId); //1、从本地缓存获取原创 2020-05-14 16:55:52 · 274 阅读 · 0 评论 -
分布式缓存一致性问题方案
方案名称 技术特点 优点 缺点 适用 场景说明 数据实时同步更新 强一致性,更新数据库同时更新缓存,使用缓存工具和AOP实现 数据一致性强,不会出现缓存雪崩问题 代码耦合,运行期耦合 ,影响正常业务 ,增加一致网络开销 银行 适合写操作频繁的细粒度缓存数据,数据一致性要求比较高场景,如:银行业务,证券交易;不适合写操作较少粗粒度数据; 数据准实时更新 准一致性,更新数据库后,异步更新缓存,使用AOP进行封装基于多线程或者MQ实现原创 2020-05-11 12:31:07 · 569 阅读 · 0 评论