redis有一个类似mysql 高级复制的功能,可以让一台主redis上的数据实时同步到一台备redis上。

主redis:192.168.20.23

备redis:192.168.20.24

我们先看主redis上有哪些key:

[root@mysqltest ~]# redis-cli keys *   
testkey test2
[root@mysqltest ~]# redis-cli info
redis_version:1.2.1
arch_bits:64
multiplexing_api:epoll
uptime_in_seconds:2316
uptime_in_days:0
connected_clients:1
connected_slaves:0
used_memory:619388
changes_since_last_save:0
bgsave_in_progress:0
last_save_time:1265167410
bgrewriteaof_in_progress:0
total_connections_received:8
total_commands_processed:7
role:master
db0:keys=2,expires=0

备redis上的key:

[root@x64test ~]# redis-cli keys *

是空的,没有任何key.

在备上执行:

[root@x64test ~]# redis-cli slaveof 192.168.20.23 6379
OK

再查看:

[root@x64test ~]# redis-cli keys *
testkey test2

可以看到主redis上的key已经同步过来了。

我们再在主redis上新增一个key:

[root@mysqltest ~]# redis-cli set test3 aaa
OK

备redis上几乎是同步出现了:

[root@x64test ~]# redis-cli keys *
test3 testkey test2

slaveof 192.168.20.23 6379这行可以加入到备redis的redis.conf内去。