开发之缓存与数据库优化
此文仅入门,需要扩展挖深,自行钻研 缓存-redis 数据库-mysql 1. 缓存 什么是缓存? 定义 缓存是系统快速响应的一种关键性技术,是一组被保存起来以备将来使用的东西,介于应用开发和系统开发之间,是产品经理们经常顾及不到的地方,也是技术架构设计的非功能性约束。 分类 按软件系统所处的位置不同分类 客户端缓存 服务端缓存 网络中的缓存 按规模和部署方式分类: 单体缓存 缓存集群 分布式缓存 为什么要用缓存? 为什么要用缓存,我们这里仅从软件开发层面来分析,首先你必须了解关于系统的性能的一些指标。 系统的性能的指标一般包括: 响应时间:系统对用户的请求作出的响应时间,它完整的记录了整个系统处理请求的时间。 延迟时间:一般指系统处理完请求后,由于网络传输到用户之间的网络延迟时间。 吞吐量:指单位时间内系统处理请求的数量。无并发的系统中,它与响应时间成反比。 并发用户数:指系统能够同时承载的正常使用系统功能的用户数量,它比 吞吐量更能直观的反应系统的性能 资源利用率:反映的是一段时间内资源平均被占用的情况 系统的性能,反映在从浏览器到网络,再到服务器,甚至数据库等各个应用层面。而在各个层面使用缓存将大大提升整个系统的性能。 缓存离客户端越近,响应时间则越快;缓存离数据库越近,则响应时间越长。 缓存是一种用空间换时间的概念。 如果带宽收费(流量付费),那么缓存就是变相的省钱利器。