程序运行时动态生成缓存时存在的问题

1.在原来的开发方式中有下面一个场景(比如站点首页):

当用户第一次访问首页进来时,没有缓存,然后走数据查询的逻辑,把查询数据的结果放入缓存,待用户下次访问时直接从缓存中拿数据,这样大大的减少了和数据库的互动

单用户访问进来,发现这样的操作流程简直堪称完美。

当并发一来的时候,就存在问题了,以下是同一时刻10个并发访问首页

第一种情况:没有多余逻辑的情况,并发时会存在多次的操作redis

 

第二种情况:假如逻辑处理耗了1秒的时间,并发时全部会操作redis

这种情况下,如果如果把操作redis比作操作数据库,那这样的前台动态缓存策略就比较不靠谱了,在后台用任务去创建缓存会比较靠谱

原文地址:https://www.cnblogs.com/liugx/p/6476160.html