概述
在系统架构中,缓存可谓提供系统性能的最简单方法之一,稍微有点开发经验的同学必然会与缓存打过交道,最起码也实践过。
如果使用得当,缓存可以减少响应时间、减少数据库负载以及节省成本。但如果缓存使用不当,则可能出现一些莫名其妙的问题。
在不同的场景下,所使用的缓存策略也是有变化的。如果在你的印象和经验中,缓存还只是简单的查询、更新操作,那么这篇文章真的值得你学习一下。
在这里,为大家系统地讲解 4 种缓存模式以及它们的使用场景、流程以及优缺点。
缓存策略的选择
本质上来讲,缓存策略取决于数据和数据访问模式。换句话说,数据是如何写和读的。
例如:
-
系统是写多读少的吗?(例如,基于时间的日志)
-
数据是否是只写入一次并被读取多次?(例如,用户配置文件)
-
返回的数据总是唯一的吗?(例如,搜索查询)
选择正确的缓存策略才是提高性能的关键。
常用的缓存策略有以下五种:
-
Cache-Aside Pattern:旁路缓存模式
-
Read Through Cache Pa