Redis主從復(fù)制操作和配置詳情
前言
環(huán)境:CentOS7下安裝Redis集群,默認(rèn)已安裝好5.0及以上版本,操作包括:
- Redis-server環(huán)境變量
- 配置配置集群的
- Redis.confRedis主從配置和啟動(dòng)
- 測試主從機(jī)的數(shù)據(jù)一致性和讀寫分離
一、Redis-server環(huán)境變量
啟動(dòng)redis服務(wù)報(bào)錯(cuò):
-bash: redis-server: command not found
原因:
沒有配置對(duì)應(yīng)命令,類似于window的環(huán)境變量,所以命令找不到
解決辦法:
將安裝目錄下的redis-server執(zhí)行文件路徑配置到系統(tǒng)執(zhí)行命令里
ln -s /usr/local/redis/redis-4.0.9/src/redis-server /usr/bin/redis-server
其中
/usr/local/redis/redis-4.0.9/src/redis-server 為安裝目錄下的redis-server服務(wù)文件地址
二、配置集群的Redis.conf
我們?cè)谝慌_(tái)服務(wù)器上開啟三個(gè)Redis服務(wù),模擬redis集群,一主兩從,結(jié)構(gòu)如下 :
端口信息為7001,7002,7003(若使用的服務(wù)器記得開啟端口的防火墻)
1.先創(chuàng)建7001~7003的三個(gè)目錄,將配置文件放入對(duì)應(yīng)目錄并進(jìn)行配置
Redis.conf配置:
- bind:綁定的 IP,默認(rèn)是本地,可以指定 IP,表示只有指定的 IP 才可訪問,注釋掉的話則全部 IP 都可訪問。(我們是本地開三個(gè)服務(wù),綁定不用動(dòng),如果是分布式就0.0.0.0)
- protected-mode :保護(hù)模式(無密碼 + 無綁定 = 本地訪問),默認(rèn)開啟。這個(gè)不用動(dòng)
- port :端口,改為700x
- daemonize :表示以守護(hù)進(jìn)程的方式運(yùn)行,默認(rèn) no,需要改為 yes,避免關(guān)閉客戶端后,redis 也跟著關(guān)閉。我們實(shí)驗(yàn)用的話,可以關(guān)掉
- requirepass :密碼,默認(rèn)沒有密碼,如果需要?jiǎng)t設(shè)置密碼
[root@VM-0-4-centos ~]# redis-cli -p 6379 # 獲取密碼 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "" # 設(shè)置密碼 >127.0.0.1:6379> config set requirepass 12455 OK # 重新關(guān)閉客戶端再進(jìn)入時(shí),輸入一下命令,則顯示無權(quán)限 127.0.0.1:6379> keys * (error) NOAUTH Authentication required. # 輸入密碼 127.0.0.1:6379> auth 12455 OK
三、配置主從服務(wù)器
有臨時(shí)和永久兩種模式:
- 修改配置文件(永久生效)
- 在redis.conf中添加一行配置:slaveof <masterip> <masterport>
- 使用redis-cli客戶端連接到redis服務(wù),執(zhí)行slaveof命令(重啟后失效):
slaveof <masterip> <masterport>
四、啟動(dòng)三臺(tái)Redis服務(wù)器
[root@localhost bin]# redis-server /myredis/redis6379.conf [root@localhost bin]# redis-server /myredis/redis6380.conf [root@localhost bin]# redis-server /myredis/redis6381.conf [root@localhost bin]# ps -ef | grep redis root 2999 1 0 11:58 ? 00:00:00 redis-server *:6379 root 3013 1 0 11:59 ? 00:00:00 redis-server *:6380 root 3019 1 0 11:59 ? 00:00:00 redis-server *:6381 root 3025 2189 0 11:59 pts/0 00:00:00 grep --color=autoredis
使用命令登錄三個(gè)redis
redis -p <port> -a 密碼 指定端口號(hào)登錄redis
執(zhí)行下列操作以測試:
- 利用redis-cli連接7001,執(zhí)行
set num 123
- 利用redis-cli連接7002,執(zhí)行
get num
,再執(zhí)行set num 666
- 利用redis-cli連接7003,執(zhí)行
get num
,再執(zhí)行set num 888
我們對(duì)從機(jī)進(jìn)行寫操作發(fā)現(xiàn)報(bào)錯(cuò)
對(duì)主機(jī)進(jìn)行寫操作,從機(jī)可以獲取
可以發(fā)現(xiàn),只有在7001這個(gè)master節(jié)點(diǎn)上可以執(zhí)行寫操作,7002和7003這兩個(gè)slave節(jié)點(diǎn)只能執(zhí)行讀操作。
到此這篇關(guān)于Redis主從復(fù)制操作和配置詳情的文章就介紹到這了,更多相關(guān)Redis主從復(fù)制 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redis在項(xiàng)目中的使用(JedisPool方式)
項(xiàng)目操作redis是使用的RedisTemplate方式,另外還可以完全使用JedisPool和Jedis來操作redis,本文給大家介紹Redis在項(xiàng)目中的使用,JedisPool方式,感興趣的朋友跟隨小編一起看看吧2021-12-12Redis高并發(fā)緩存設(shè)計(jì)問題與性能優(yōu)化
本文詳細(xì)介紹了Redis緩存設(shè)計(jì)中常見的問題及解決方案,包括緩存穿透、緩存失效(擊穿)、緩存雪崩、熱點(diǎn)緩存key重建優(yōu)化、緩存與數(shù)據(jù)庫雙寫不一致以及開發(fā)規(guī)范與性能優(yōu)化,感興趣的可以了解一下2024-11-11redis-cli登錄遠(yuǎn)程redis服務(wù)并批量導(dǎo)入數(shù)據(jù)
本文主要介紹了redis-cli登錄遠(yuǎn)程redis服務(wù)并批量導(dǎo)入數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10Centos7 Redis主從搭建配置的實(shí)現(xiàn)
這篇文章主要介紹了Centos7 Redis主從搭建配置的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06從原理到實(shí)踐分析?Redis?分布式鎖的多種實(shí)現(xiàn)方案
在分布式系統(tǒng)中,為了保證多個(gè)進(jìn)程或線程之間的數(shù)據(jù)一致性和正確性,需要使用鎖來實(shí)現(xiàn)互斥訪問共享資源,然而,使用本地鎖在分布式系統(tǒng)中存在問題,這篇文章主要介紹了從原理到實(shí)踐分析?Redis?分布式鎖的多種實(shí)現(xiàn)方案,需要的朋友可以參考下2024-07-07