22 缓存
问题:分布式架构中的缓存的应用场景?
背景
分布式架构中,使用缓存可以优化绝大部分的性能。
分类
按照谁来操作数据源可以分为两类缓存;
通路缓存
缓存组件直接连接数据源并更新缓存
使用场景:
- CDN 处理静态资源;
- 反向代理缓存 处理动态资源
旁路缓存
应用程序直接连接数据源更新缓存
使用场景:
- 本地缓存: 数据存在jvm的堆中;
- 分布式缓存: 路由算法, hash(key)/length ,主要通过hash表来实现;
优缺点
优点:
- 响应更快,内存的速度远远大于磁盘和远程获取;
- 节省计算资源,直接缓存的是结果;
- 可以降低压力, cdn可以降低web访问的压力, 反向代理可以降低数据库的访问压力
缺点:
- 数据脏读;(过期失效和失效通知来处理)
- 热点数据难以识别;
其它
客户端也可以使用缓存,减少对静态资源的访问;
小结
原创不易,点赞关注支持一下吧!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。
我会持续分享Java软件编程知识和程序员发展职业之路,欢迎关注,我整理了这些年编程学习的各种资源,关注公众号‘李福春持续输出’,发送'学习资料'分享给你!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。