Redis多實例及主從搭建


主從搭建前提是服務器上已經安裝好了redis,
redis安裝可搜索本站另一篇博客:redis安裝。


redis單主機多實例

一、我們首先拷貝兩份文件:

cp /etc/redis.conf /etc/redis6381.conf
cp /etc/redis.conf /etc/redis6382.conf

二、修改redis6381配置文件

# vim /etc/redis6381.conf

# 默認情況下 redis 不是作為守護進程運行的,如果你想讓它在后台運行,你就把它改成 yes。
daemonize yes

# 當redis作為守護進程運行的時候,它會把 pid 默認寫到 /var/run/redis.pid 文件里面,
# 但是你可以在這里自己制定它的文件位置。
pidfile /var/run/redis/redis_6381.pid

# 監聽端口號,默認為 6379,如果你設為 0 ,redis 將不在 socket 上監聽任何客戶端連接。
port 6381

# 指定日志文件的位置,不同的實例設置不同的日志文件,便於問題定位
logfile /var/log/redis/redis_6381.log

# 設置dump的文件名稱,不同的實例設置不同的db文件,便於問題定位
dbfilename dump_6381.rdb
 
# 工作目錄
# 例如上面的 dbfilename 只指定了文件名,但是它會寫入到這個目錄下。
# 這個配置項一定是個目錄,而不能是文件名。
# 這個配置項默認值為“./”,最好改相對路徑為絕對路徑
# 如果為相對路徑,redis在哪里啟動,dump.rdb文件就會產生在啟動的目錄,這也就是有些人重啟redis后key值消失的原因
dir /data/redisdb/

相關命令

#啟動6381端口服務
src/redis-server /etc/redis6381.conf

#按端口進入客戶端
/usr/bin/redis-cli -p 6381

三、同理我們配置6382配置文件, 成功啟動服務后,查看進程:

圖片3


redis配置主從

修改6381、6382從庫配置:

vim /etc/redis/redis6381.conf
vim /etc/redis/redis6382.conf

圖片4

重啟6379、6381、6382服務,可以看到主從數據實現同步

圖片5

用客戶端登錄相關主從服務器,輸入info查看主從配置信息

#主機
127.0.0.1:6379>info

# Replication
role:master
connected_slaves:1
slave0:ip=從機ip,port=6379,state=online,offset=140933,lag=1
master_repl_offset:140933
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:140932

#從機
127.0.0.1:6381>info

# Replication
role:slave
master_host:主機ip
master_port:6379
master_link_status:up
master_last_io_seconds_ago:7
master_sync_in_progress:0
slave_repl_offset:141073
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0


redis添加密碼

正式環境redis的使用,密碼的配置必不可少。
redis密碼缺失的情況下,攻擊者很容易通過肉機掃描redis默認端口,免密登錄redis進而通過config命令修改服務器配置文件,造成破壞。

修改6379主庫配置:

vim /etc/redis/redis6379.conf

# 修改requirepass項
requirepass master-password

修改6381、6382從庫配置:

vim /etc/redis/redis6381.conf
vim /etc/redis/redis6382.conf

# 修改requirepass項
requirepass slave-password

# 修改masterauth項
masterauth <master-password>

重啟服務,按端口按密碼進入客戶端測試相關效果即可

/usr/bin/redis-cli -p 6382 -a password

鏈接相關

redis高可用方案哨兵(Sentinel)的使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM