本地缓存最大问题到底是啥?
来源:4-14 三种缓存架构和三种缓存访问模式

程序猿大叔文海
2022-05-02
现在很多都是分布式架构以及多个实例,使用了本地缓存怎么感知数据的变动?
写回答
1回答
-
大能老师
2022-05-03
对于这个问题,我们要先知道本地缓存的特点,主要有这几个
性能极佳
缓存的数据量小
应用重启后数据会丢失
然后结合这几个特点我们再来看一下,什么场景下适合使用本地缓存?结合我们实际的项目经验,归纳起来主要有这两个场景:
1、将少量的业务参数进行本地缓存,这一类数据通常变动比较少。对于这一类型的数据,我们要根据实际的业务场景来判断当源数据发生变化时,缓存数据如果不一致会不会有什么影响?然后根据不同的一致性等级要求去做不同的处理:如果对一致性要求高,那么在源数据发生变动的时候就需要同步去刷新对应的缓存数据,我们可以称为主动更新机制;如果对一致性要求不高,那么就可以对这个缓存设置较长的过期时间,比如说一个小时甚至更长,这样缓存到期之后就会失效,然后下一次请求就会重新获取最新的数据放到缓存,这种方式我们称之为过期更新机制。
2、将少量最热门的数据进行本地缓存,这一类数据通常访问量比较大,使用本地缓存在提供更好性能的同时,可以缓解下层压力。这种场景通常会设置较短的过期时间,而且在这个短暂的时间范围内,缓存数据与真实数据的不一致,在业务层面是可以接受的,比如说一个课程的学习人数、一个视频的点赞数量或者评论数量,对于这种数据,如果源数据发生变化,一般也不会主动去更新本地缓存,而是会等到本地缓存失效之后,下次查询再获取最新的数据。
10
相似问题