rdbms与redis的同步

bt1cpqcv  于 2021-06-08  发布在  Redis
关注(0)|答案(1)|浏览(355)

我有rds,它是真理的源泉。我面临的一个挑战是将这个数据库部分同步到redis,以使其可供服务器应用程序使用。这将是一个单向同步总是在一个方向上,但我不知道我用什么工具,使这些同步发生在一个优化的方式更好。换句话说,与其加载整个数据集,不如只同步增量。
我希望有人能就如何做到这一点给出一些见解。谢谢您!

ljsrvy3e

ljsrvy3e1#

大多数rdbms提供了一种订阅事务的方法,允许您放置一个“变更数据捕获”事件流。
在这种情况下,您可以订阅数据库事件,并将更改或更新的记录放在redis中。
例如,您可以使用debezium来捕获事件,因为您可以看到debezium社区具有用于各种数据源的连接器。

---------          ------------         --------- 
| RDBMS |========>>| Debezium | ======> | Redis |
---------          ------------         ---------

这个演示(主要是java)展示了这一点(稍微丰富一点,因为它使用redis流和中间状态),事件是通过这个方法捕获的,所以在mysql中捕获insert/update/delete并将信息发送到redis。
另一个不符合您需要但很有趣的选项是执行“write-behind”缓存。在这种情况下,您在redis中更新缓存,redis使用gears在rdbms中推送更新。
您可以在这个github repo中找到有关redis gears的“写在后面”的更多信息。

---------          ---------         --------- 
| Redis |========>>| Gears | ======> | RDBMS |
---------          ---------         ---------

相关问题