如何解决此缓存设计模式的名称是什么?
我们有一个系统,其中缓存了昂贵的数据库查询和业务逻辑的结果,以减少后续请求的延迟。多个主机处理请求并使用共享的缓存。在'cache-aside' pattern中,请求流为:
- 确定该项目当前是否保存在缓存中
- 如果该项目当前不在缓存中,请从数据存储中读取该项目
- 将该项目的副本存储在缓存中
由于我们的查询和业务逻辑很昂贵,因此在第1步和第3步之间可能会发生数千项对该项目的请求,每个请求都会触发第二步,从而使数据存储区超载。我们使用将待处理或前哨配音的模式:
- 确定该项目当前是否保留在缓存中,并在丢失时自动存储“结果挂起”对象(前哨)
- 如果该项目当前不在缓存中,请从数据存储中读取该项目;如果缓存中的项目是哨兵,请退回并重试该操作,直到结果到达或超时(在这种情况下,请重新启动操作)
- 将项目的副本存储在缓存中,替换前哨值并有效地“取消阻止”尝试读取值的请求
我在文献中找不到任何示例或讨论,是否有这种模式的名称或参考?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。