1. 使用缓存的优势
1.1 提升用户体验
用户体验(User Experience
):用户在使用产品过程中建立起来的一种纯主观感受。
缓存的使用可以提升系统的响应能力,大大提升了用户体验。
1.2 减轻服务器压力
客户端缓存、网络端缓存减轻应用服务器压力。
服务端缓存减轻数据库服务器的压力。
1.3 提升系统性能
系统性能指标:响应时间、延迟时间、吞吐量、并发用户数和资源利用率等。
缓存技术可以 缩短系统的响应时间,减少网络传输时间和应用延迟时间,提高系统的吞吐量,增加系统的并发用户数,提高了数据库资源的利用率
2. 使用缓存的代价
2.1 额外的硬件支出
缓存是一种软件系统中以空间换时间的技术,需要额外的磁盘空间和内存空间来存储数据;搭建缓存服务器集群需要额外的服务器,采用云服务器的缓存服务就不用额外的服务器了。
阿里云(Tair、Redis
),百度云(Redis
),AWS亚马逊云服务(EVCache
),提供缓存服务
2.2 高并发缓存失效
在高并发场景下会出现缓存失效(缓存穿透、缓存雪崩、缓存击穿),造成瞬间数据库访问量增大,甚至崩溃
2.3 缓存与数据库数据同步
缓存与数据库无法做到数据的时时同步
Redis
无法做到主从时时数据同步
2.4 缓存并发竞争
多个 redis
的客户端同时对一个 key
进行 set
值的时候由于执行顺序引起的并发问题