127.0.0.1 6379 主 127.0.0.1 6380 從 127.0.0.1 6381 從 1、在redis目錄下建立conf文件夾,,存主從的redis.conf配置文件 建立三個(gè)文件:redis_6379.conf,、redis_6380.conf、redis_6381.conf 2、在redis目錄下建立dump文件夾,,存本地?cái)?shù)據(jù)庫(kù)文件 redis啟動(dòng)的時(shí)候會(huì)自動(dòng)生成這六個(gè)文件(前提是開啟rdb和aof文件持久化):appendonly_6379.aof、appendonly_6380.aof,、appendonly_6381.aof,、redis_6379.rdb、redis_6380.rdb,、redis_6381.rdb 3,、主redis_6379.conf文件內(nèi)容: daemonize yes pidfile /var/run/redis_6379.pid port 6379 tcp-keepalive 0 loglevel notice logfile /usr/soft/redis/logs/redis_6379.log save 900 1 save 300 10 save 60 10000 dbfilename redis_6379.rdb dir /usr/soft/redis/dump/ appendonly yes appendfilename 'appendonly_6379.aof' # appendfsync always appendfsync everysec # appendfsync no 4、從redis_6380.conf配置文件內(nèi)容: daemonize yes pidfile /var/run/redis_6380.pid port 6380 tcp-keepalive 0 loglevel notice logfile /usr/soft/redis/logs/redis_6380.log save 900 1 save 300 10 save 60 10000 # The filename where to dump the DB dbfilename redis_6380.rdb dir /usr/soft/redis/dump/ slaveof 127.0.0.1 6379 slave-read-only no appendonly yes appendfilename 'appendonly_6380.aof' # appendfsync always appendfsync everysec # appendfsync no 從6381的配置與從6380一樣,,唯一需要注意的是修改端口,、路徑、備份文件名等,。 四,、啟動(dòng)redis 1、啟動(dòng)主redis:redis-server ./redis_6379.conf,。在conf目錄下執(zhí)行,,如果在其它目錄下運(yùn)行,需要指定redis_6379.conf的詳細(xì)路徑 2,、啟動(dòng)從redis:redis-server ./redis_6380.conf,。 2、啟動(dòng)從redis:redis-server ./redis_6381.conf,。 啟動(dòng)完后redis服務(wù)會(huì)在后臺(tái)運(yùn)行 五,、查看是否正常啟動(dòng) 執(zhí)行:ps -ef|grep redis 六、測(cè)試主從是否配置正確 因?yàn)槲覀兣渲玫脑谥鱮edis中添加,,會(huì)自動(dòng)同步到從的redis庫(kù)中,,但是在從庫(kù)執(zhí)行添加數(shù)據(jù)確不會(huì)被同步到主庫(kù)中。 在主庫(kù)中添加set a a 在從庫(kù)中查看發(fā)現(xiàn)key為a的數(shù)據(jù)已經(jīng)同步過來了,。 七,、主從切換 1、停止主redis [root@localhost redis-2.8.3]# src/redis-cli -n 6379 shutdown [root@localhost redis-2.8.3]# src/redis-cli -p 6379 Could not connect to Redis at 127.0.0.1:6379: Connection refused not connected> 2,、將從redis設(shè)成主redis [root@localhost redis-2.8.3]# src/redis-cli -p 6380 slaveof NO ONE OK 3,、測(cè)試從redis是否切換成主redis [root@localhost redis-2.8.3]# src/redis-cli -p 6380 127.0.0.1:6380> set name 123 OK 127.0.0.1:6380> get name '123' 127.0.0.1:6380> 4、原來的主redis恢復(fù)正常了,,要重新切換回去 1)將現(xiàn)在的主redis的數(shù)據(jù)進(jìn)行保存 [root@localhost redis-2.8.3]# src/redis-cli -p 6380 127.0.0.1:6380> get name 'abc' 127.0.0.1:6380> set name 123 OK 127.0.0.1:6380> get name '123' 127.0.0.1:6380> save OK 127.0.0.1:6380> get name '123' 127.0.0.1:6380> 2)將現(xiàn)在的主redis根目錄下dump.rdb文件拷貝覆蓋到原來主redis的根目錄 3)啟動(dòng)原來的主redis [root@localhost redis-2.8.3]# src/redis-server /soft/redis-2.8.3-master/redis-2.8.3/redis.conf 4)在現(xiàn)在的主redis中切換 [root@localhost redis-2.8.3]# src/redis-cli -p 6380 slaveof 192.168.10.1 6379 OK |
|