22 缓存

file

问题:分布式架构中的缓存的应用场景?

背景

分布式架构中,使用缓存可以优化绝大部分的性能。

分类

按照谁来操作数据源可以分为两类缓存;

通路缓存

缓存组件直接连接数据源并更新缓存

使用场景:

  1. CDN 处理静态资源;
  2. 反向代理缓存 处理动态资源

旁路缓存

应用程序直接连接数据源更新缓存

使用场景:

  1.  本地缓存: 数据存在jvm的堆中;
  2. 分布式缓存: 路由算法, hash(key)/length ,主要通过hash表来实现;

优缺点

优点:

  1. 响应更快,内存的速度远远大于磁盘和远程获取;
  2. 节省计算资源,直接缓存的是结果;
  3. 可以降低压力, cdn可以降低web访问的压力, 反向代理可以降低数据库的访问压力

缺点:

  1. 数据脏读;(过期失效和失效通知来处理)
  2. 热点数据难以识别;

其它

客户端也可以使用缓存,减少对静态资源的访问;

小结

image.png

原创不易,点赞关注支持一下吧!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。
我会持续分享Java软件编程知识和程序员发展职业之路,欢迎关注,我整理了这些年编程学习的各种资源,关注公众号‘李福春持续输出’,发送'学习资料'分享给你!
李福春持续输出公众号二维码

李福春
119 声望11 粉丝

code for life .