缓存技术是保障系统性能的基础技术、核心技术。
缓存发挥的作用
① 最大程度上避免对数据库的并发查询,从而降低因为数据库资源不足导致的系统故障。
② 提升系统的响应速度,保证用户体验
总之缓存使系统稳定高效的运行。
缓存的重要性
如果你的系统使用到了数据库,但没有使用缓存,那你的网站一定没有多少访问量;如果有访问量,那你的网站可用状态一定是断断续续的。
服务端分布式缓存与本地缓存
- 分布式缓存:常用redis,memcached
- 分布式缓存用于集群环境下多节点使用同一份缓存的情况,从而减少数据库查询
- 分布式缓存有网络IO,因此吞吐率与缓存的数据大小有较大关系
- 分布式缓存网络IO导致的时间消耗不可忽略(非常重要)
- 本地缓存:EHCache,JbossCache,Map(ConcurrentHashMap)等
- 本地缓存非常高效,从分布式缓存取一次数据消耗的时间可以从本地缓存取几千几万甚至百万次。
- 本地缓存在集群环境下存在不同节点数据不一致问题,因此使用时需要考虑缓存的时效性,以及缓存数据对不一致的敏感程度
- 缓存时效性选择
- 实际情况下不同场景对同一数据的时效性有差异,比如商品的库存,商品页面展示是否可以购买时可以有短暂的缓存,但提交订单时必须是实时的数据。
- 不同的业务数据对时效性的要求不一样,比如商品属性时效性要求较低,商品价格和库存对时效性要求较高
- 本地缓存+分布式缓存构建高性能网站
- 使用本地缓存做一级缓存,减少分布式缓存的访问量(网络IO带宽消耗及网络时间消耗)
- 使用分布式缓存做二级缓存,减少集群环境下访问数据库的次数
本文深入探讨缓存技术在系统性能中的核心作用,分析缓存如何通过减少数据库并发查询提升响应速度,确保用户体验,并讨论了本地缓存与分布式缓存如Redis、Memcached的区别及其在高访问量场景下的应用策略。
2万+

被折叠的 条评论
为什么被折叠?



