一台主机Master中某个程序A产生数据,备机Slave上也有程序A需要访问和Master中一样的数据。
由于对数据的访问速度要求较高,打算在Master、Slave上都用Redis存储数据,那么如何把Master上的数据同步到Slave机上的Redis上去呢?而且Master上的数据有增删改时,Slave机也能做相应数据更改。
我目前的想法是让Master和Slave通过TCP连接,然后写一个trigger,当Master中的程序A向Redis中增删改数据时,就发送一个信号(包含了动作和数据)到Slave,然后Slave中的Redis做出同步的动作。
我想问一下:
这个想法是否可行?
如果可行,实现的难度如何?数据能否保持一致性?需要注意的问题有哪些?
如果不可行,是否有其他的替代方案?
Redis新手,还望各位不吝赐教,谢谢。
redis本身支持master/slave.