redis的主從配置方法詳解
Linux系統(tǒng)下的redis的主從配置方法非常簡單,下面給大家分享一下redis的主從配置方法具體的操作步驟
環(huán)境介紹:
OS:oracle linux 5.6
redis:redis-2.6.8
master rac1 192.168.2.101
slave rac2 192.168.2.102
下載地址:
http://redis.googlecode.com/files/redis-2.6.8.tar.gz
安裝配置主從redis
1. 主節(jié)點(diǎn)配置
[root@rac1 opt] tar zxvf redis-2.6.8.tar.gz [root@rac1 opt] cd redis-2.6.8 [root@rac1 redis-2.6.8]# make [root@rac1 redis-2.6.8]# cp src/redis-server /usr/local/bin/ [root@rac1 redis-2.6.8]# cp redis.conf /etc/redis_master.conf [root@rac1 redis-2.6.8]# cat /etc/redis_master.conf # If port 0 is specified Redis will not listen on a TCP socket.
port 6379 #此端口是redis默認(rèn)的,可以不改
復(fù)制軟件到從節(jié)點(diǎn)
[root@rac1 opt]# scp -r redis-2.6.8 rac2:/opt
2. 從節(jié)點(diǎn)配置
[root@rac2 redis-2.6.8]# cp src/redis-server /usr/local/bin/ [root@rac2 redis-2.6.8]# cp redis.conf /etc/redis_slave.conf # If port 0 is specified Redis will not listen on a TCP socket.
port 6389 #修改為slave節(jié)點(diǎn)的自定義端口
# slaveof <masterip> <masterport> slaveof 192.168.2.101 6379
此步最關(guān)鍵,添加上master的IP或主機(jī)及端口號(hào)
3. 啟動(dòng)redis服務(wù)
啟動(dòng)master節(jié)點(diǎn)
[root@rac1 ~]# redis-server /etc/redis_master.conf > redis_master.log 2>&1 &
&可以使命令在后臺(tái)的執(zhí)行,不影響屏幕使用。
_._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 2.6.8 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in stand alone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 477 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' [477] 12 Mar 16:43:30.319 # Server started, Redis version 2.6.8 [477] 12 Mar 16:43:30.319 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. [477] 12 Mar 16:43:30.319 * The server is now ready to accept connections on port 6379 [root@rac1 ~]# ps -ef|grep redis root 5930 14334 0 16:56 pts/1 00:00:02 redis-server /etc/redis_master.conf root 7250 14334 0 17:03 pts/1 00:00:00 grep redis
啟動(dòng)slave節(jié)點(diǎn)
[root@rac2 ~]# redis-server /etc/redis_slave.conf > redis_slave.log 2>&1 & [1] 32507 [32507] 12 Mar 17:51:55.346 * Max number of open files set to 10032 _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 2.6.8 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in stand alone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6389 | `-._ `._ / _.-' | PID: 32507 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' [32507] 12 Mar 17:51:55.350 # Server started, Redis version 2.6.8 [32507] 12 Mar 17:51:55.350 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. [32507] 12 Mar 17:51:55.350 * The server is now ready to accept connections on port 6389 [32507] 12 Mar 17:51:56.348 * Connecting to MASTER... [32507] 12 Mar 17:51:56.349 * MASTER <-> SLAVE sync started [32507] 12 Mar 17:51:56.495 * Non blocking connect for SYNC fired the event. [32507] 12 Mar 17:51:57.014 * Master replied to PING, replication can continue... [32507] 12 Mar 17:51:57.028 * MASTER <-> SLAVE sync: receiving 18 bytes from master [32507] 12 Mar 17:51:57.029 * MASTER <-> SLAVE sync: Loading DB in memory [32507] 12 Mar 17:51:57.037 * MASTER <-> SLAVE sync: Finished with success [root@rac2 ~]# ps -ef|grep redis root 321 29770 0 17:54 pts/1 00:00:00 grep redis root 32507 29770 0 17:51 pts/1 00:00:00 redis-server /etc/redis_slave.conf
4. 驗(yàn)證主從復(fù)制
master節(jié)點(diǎn)數(shù)據(jù)輸入
[root@rac1 ~]# telnet 192.168.2.101 6379 Trying 192.168.2.101... Connected to rac1.localdomain (192.168.2.101). Escape character is '^]'. rpush data 1 :1 rpush data 1 :2 lrange data 0 -1 *2 $1 1 $1 1
slave節(jié)點(diǎn)驗(yàn)證
[root@rac1 ~]# telnet 192.168.2.102 6389 Trying 192.168.2.102... Connected to rac2.localdomain (192.168.2.102). Escape character is '^]'. lrange data 0 -1 *2 $1 1 $1 1 quit +OK Connection closed by foreign host.
好了,到此主從redis已經(jīng)配置完成并成功運(yùn)行了,Linux系統(tǒng)下的redis主從配置方法操作很簡單只要接步驟認(rèn)真配置基本都可以配置成功
相關(guān)文章
redis數(shù)據(jù)結(jié)構(gòu)之壓縮列表
這篇文章主要介紹了redis數(shù)據(jù)結(jié)構(gòu)之壓縮列表,壓縮列表是列表list和hash數(shù)據(jù)結(jié)構(gòu)的底層實(shí)現(xiàn)之一,是redis為了節(jié)約內(nèi)存而開發(fā)的,由一系列特殊編碼的連續(xù)內(nèi)存塊組成的順序型數(shù)據(jù)結(jié)構(gòu),下面詳細(xì)內(nèi)容需要的小伙伴可以參考一下2022-03-03CentOS下Redis數(shù)據(jù)庫的基本安裝與配置教程
這篇文章主要介紹了CentOS下Redis數(shù)據(jù)庫的基本安裝與配置教程,Redis一般被用作基于內(nèi)存的緩存式數(shù)據(jù)存儲(chǔ),要的朋友可以參考下2015-12-12Redis+PHP實(shí)現(xiàn)用戶消息推送每天最多通知2次的功能
在開發(fā)應(yīng)用程序中,經(jīng)常需要向用戶推送消息通知,但是為了避免過多的打擾用戶,我們希望限制每天最多通知2次,本篇博文將介紹如何使用PHP和Redis實(shí)現(xiàn)這一功能,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2023-10-10淺談我是如何用redis做實(shí)時(shí)訂閱推送的
這篇文章主要介紹了淺談我是如何用redis做實(shí)時(shí)訂閱推送的,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03Redis基礎(chǔ)學(xué)習(xí)之管道機(jī)制詳析
這篇文章主要給大家介紹了關(guān)于Redis基礎(chǔ)學(xué)習(xí)之管道機(jī)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Redis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11Redis特殊數(shù)據(jù)類型Geospatial地理空間
這篇文章主要為大家介紹了Redis特殊數(shù)據(jù)類型Geospatial地理空間,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05redis+lua實(shí)現(xiàn)限流的項(xiàng)目實(shí)踐
redis有很多限流的算法(比如:令牌桶,計(jì)數(shù)器,時(shí)間窗口)等,在分布式里面進(jìn)行限流的話,我們則可以使用redis+lua腳本進(jìn)行限流,下面就來介紹一下redis+lua實(shí)現(xiàn)限流2023-10-10