双机Redis实时数据同步方案?
一台主机Master中某个程序A产生数据,备机Slave上也有程序A需要访问和Master中一样的数据。
由于对数据的访问速度要求较高,打算在Master、Slave上都用Redis存储数据,那么如何把Master上的数据同步到Slave机上的Redis上去呢?而且Master上的数据有增删改时,Slave机也能做相应数据更改。
我目前的想法是让Master和Slave通过TCP连接,然后写一个trigger,当Master中的程序A向Redis中增删改数据时,就发送一个信号(包含了动作和数据)到Slave,然后Slave中的Redis做出同步的动作。
我想问一下:
这个想法是否可行?
如果可行,实现的难度如何?数据能否保持一致性?需要注意的问题有哪些?
如果不可行,是否有其他的替代方案?
Redis新手,还望各位不吝赐教,谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
redis本身支持master/slave.
Redis本身支持主备模式,但是备库是不可写的,只能读。备库会自动从主库进行同步
要避免网络延时
作者要求实时吧,抢红包或者其他例子 主从数据要求实时同步 类似redis-cli的订阅事件 几个内存数据库的数据都是实习同步的