双机Redis实时数据同步方案?

一台主机Master中某个程序A产生数据,备机Slave上也有程序A需要访问和Master中一样的数据。
由于对数据的访问速度要求较高,打算在Master、Slave上都用Redis存储数据,那么如何把Master上的数据同步到Slave机上的Redis上去呢?而且Master上的数据有增删改时,Slave机也能做相应数据更改。
我目前的想法是让Master和Slave通过TCP连接,然后写一个trigger,当Master中的程序A向Redis中增删改数据时,就发送一个信号(包含了动作和数据)到Slave,然后Slave中的Redis做出同步的动作。
我想问一下:

  1. 这个想法是否可行?

  2. 如果可行,实现的难度如何?数据能否保持一致性?需要注意的问题有哪些?

  3. 如果不可行,是否有其他的替代方案?

Redis新手,还望各位不吝赐教,谢谢。

阅读 7.3k
4 个回答

redis本身支持master/slave.

Redis本身支持主备模式,但是备库是不可写的,只能读。备库会自动从主库进行同步

要避免网络延时

新手上路,请多包涵

作者要求实时吧,抢红包或者其他例子 主从数据要求实时同步 类似redis-cli的订阅事件 几个内存数据库的数据都是实习同步的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题