首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >共享的分布式缓存的一致性

共享的分布式缓存的一致性
EN

Stack Overflow用户
提问于 2021-04-30 06:49:41
回答 1查看 307关注 0票数 0

让我们看一下我的系统的简单模式。基本上,有两个(或更多)服务对SQL数据库进行简单操作:读、更新、写入。在将条目E写入(从)数据库后,它将被写入分布式缓存(Redis)。以下读取的E将从Redis缓存中读取E,以获得更高的吞吐量。基本上,它是正确的。

不过,我认为有以下情况:

缓存是空的。

代码语言:javascript
复制
Process A (reads the entry `E`)     Process B (updates the entry `E`)           
   
READ(E, cache) = EMPTY     
READ(E, db) = E1
                                          WRITE(E2, db) 
                                          WRITE(E2, cache)
WRITE(E1, cache)                          

因此,最后,有过时的E1保存到缓存。

consistency?

  • How

  • 是否最终解决了我的problem?

  • Could您推荐给我一些关于这些问题和解决这些问题的方法的东西吗?我了解一些关于分布式系统(如CAP定理等)的知识--

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-04-30 07:33:19

数据库一致性是一个非常重要的话题,这里需要的不仅仅是几行。

这就是说。第一个简单的步骤是在数据库和客户端进程之间添加一个小层。这样的层将负责原子化的进程写操作(写到DB,等待ACK,写到缓存)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67329401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档