小机灵鬼|42 张图带你揭秘后端技术都要学啥?( 二 )
加了缓存哪些好处?
- 应用程序不再直接访问数据库 , 提升访问效率 。 因为缓存内容在内存中 , 不用每次连接存放磁盘中的数据库 。
集群
缓存架构干啥啥不行 , 缓存第一名 。 不吹牛 , 缓存应用在计算机的各个角落 。 缓存可说是软件技术中的的杀手锏 , 无论是程序代码使用buffer , 还是网络架构中使用缓存 , 虚拟机也会使用大量的缓存 。
其实最初在CPU中也就开始使用缓存 。 缓存分为两种 , 一种是通读缓存 , 一种是旁路缓存
- 通读缓存
下次访问就直接从缓存直接获取 。 比较常见的为CDN和反向代理 。
通读缓存
CDN
CDN称为内容分发网络 。 想象我们京东购物的时候 , 假设我们在成都 , 如果买的东西在成都仓库有就直接给我们寄送过来 , 可能半天就到了 , 用户体验也非常好 , 就不用从北京再寄过来 。
同样的道理 , 用户就可以近距离获得自己需要的数据 , 既提高了响应速度 , 又节约了网络带宽和服务器资源 。
- 旁路缓存
旁路缓存
缓存的好处
- 因为大部分缓存的数据存储在内存中 , 相比于硬盘或者从网络中获取效率更高 , 响应时间更快 , 性能更好;
- 通过 CDN 等通读缓存可以降低服务器的负载能力;
- 因为缓存通常会记录计算结果 。 如果缓存命中直接返回 , 否则需要进行大量的运算 。 所以使用缓存也减少了CPU 的计算小号 , 加快处理速度 。
我们缓存的数据来自源数据 , 如果源数据被修改了 , 俺么缓存数据很肯能也是被修改过的 , 成为脏数据 , 所以怎么办?
- 过期失效
- 失效通知
是不是数据使用缓存都有意义呢?
非也 , 通常放入缓存中的数据都是带有热点的数据 , 比如当日热卖商品 , 或者热门吃瓜新闻 , 这样将数据存放在缓存中 , 会被多次读取 , 从而缓存的命中率也会比较高 。
异步架构在前面中 , 通过缓存实际上很多时候是解决了读的问题 , 加快了读取数据的能力 。 因为缓存通常很难保证数据的持久性和一致性 , 所以我们通常不会将数据直接写入缓存中 , 而是写入 RDBMAS 等数据中 , 那如何提升系统的写操作性能呢?
推荐阅读
- 小机灵鬼|干货速来!透彻剖析微服务架构设计模式,深入开发Java有奇效
- 萌小糸说历史|他腹背受敌的时候,刘备为何见死不救(二),揭秘关羽死得很蹊跷
- 王者荣耀|王者重开机制揭秘:钻石段位以上必看,五战士,四辅助可重开,巅峰赛不能
- 雷军揭秘小米实验室1800台手机 2020智能手机和直播行业现状及发展前景趋势分析研究报告
- 国潮|国韵经典潮茶——韵茶获得满堂好评!揭秘TA一路高歌猛进的背后
- 时尚广州|T恤的标语你了解过吗?揭秘衣服上那些奇怪的字句
- 湖人|死守联防包夹哈登!名嘴揭秘湖人如何赢球:坚信红队三分球会力竭
- 《他其实没有那么爱你》不想给观众放大贫富差距丨揭秘
- |死守联防包夹哈登!名嘴揭秘湖人如何赢球:坚信红队三分球会力竭
- 落叶知秋|揭秘,IT培训行业营销拓客秘籍