掘地三尺搞定Redis与MySQL数据一致性问题(2)

2023-04-24 来源:飞速影视

2.1.1 读取数据


掘地三尺搞定Redis与MySQL数据一致性问题


读取数据逻辑如下:
当应用程序需要从数据库读取数据时,先检查缓存数据是否命中。如果缓存未命中,则查询数据库获取数据,同时将数据写到缓存中,以便后续读取相同数据会命中缓存,最后再把数据返回给调用者。如果缓存命中,直接返回。
时序图如下:

掘地三尺搞定Redis与MySQL数据一致性问题


旁路缓存读时序图

优点


缓存中仅包含应用程序实际请求的数据,有助于保持缓存大小的成本效益。实现简单,并且能获得性能提升。
实现的伪代码如下:
String cacheKey = "公众号:码哥字节";
String cacheValue = redisCache.get(cacheKey);
//缓存命中
if (cacheValue != null) {
return cacheValue;
} else {
//缓存缺失, 从数据库获取数据
cacheValue = getDataFromDB();
// 将数据写到缓存中
redisCache.put(cacheValue)
}

缺点


由于数据仅在缓存未命中后才加载到缓存中,因此初次调用的数据请求响应时间会增加一些开销,因为需要额外的缓存填充和数据库查询耗时。

2.1.2 更新数据


相关影视
合作伙伴
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)

www.fs94.org-飞速影视 粤ICP备74369512号