微信搜索 【微观技术】,关注这个不喜欢内卷的程序员。
精彩文章汇总 GitHub https://github.com/aalansehaiyang/technology-talk ,Star 12K ,汇总java生态圈常用技术框架、开源中间件,系统架构、数据库、大公司架构案例、常用三方类库、项目管理、线上问题排查、个人成长、思考等知识
大家好,我是Tom哥~
缓存设计可谓老生常谈了,早些时候都是采用memcache
,现在大家更多倾向使用redis
,除了知晓常用的数据存储类型,结合业务场景有针对性选择,好像其他也没有什么大的难点。
工程中引入Redis Client
二方包,初始化一个Bean实例RedisTemplate
,一切搞定,so easy。
如果是几十、几百并发的业务场景,缓存设计
可能并不需要考虑那么多,但如果是亿级的系统呢?
首先,先了解缓存知识图谱
早期的缓存用于加速CPU数据交换的RAM。随着互联网的快速发展,缓存的应用更加宽泛,用于数据高速交换的存储介质都称之为缓存。
使用缓存时,我们要关注哪些指标?缓存有哪些应用模式?以及缓存设计时有哪些Tip技巧?一图胜千言,如下:
七大经典问题
缓存在使用过程不可避免会遇到一些问题,对于高频的问题我们大概归为了7类。具体内容下面我们一一道来
1、缓存集中失效
当业务系统查询数据时,首先会查询缓存,如果缓存中数据不存在,然后查询DB再将数据预热到Cache
中&#x