1. 程式人生 > >Linux環境下 Redis 安裝、啟動、連線、主從複製、哨兵機制

Linux環境下 Redis 安裝、啟動、連線、主從複製、哨兵機制

安裝步驟

Linux 版本號 CentOS-6.4-x86_64

Redis 版本號 redis-3.0.6.tar.gz

1、usr資料夾中,建立redis資料夾
2、解壓 redis-3.0.6.tar.gz
3、解壓後進入到資料夾 redis-3.0.6
4、編譯 make
5、編譯後,進入src目錄下,執行命令 make install
6、到此就安裝完成。但是,由於安裝redis的時候,我們沒有選擇安裝路徑,故是預設位置安裝。在此,我們可以將可執行檔案和配置檔案移動到習慣的目錄(usr/local)。

cd /usr/local
mkdir -p /usr/local/redis/bin    
mkdir -p /usr/local/redis/etc
cd /usr/redis/redis-3.0.6
cp ./redis.conf /usr/local/redis/etc
cd src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server redis-sentinel /usr/local/redis/bin

啟動

啟動 redi 進入到 bin目錄下,執行命令 ./redis-server

設定後臺啟動
1.關閉 redis 防火牆 在bin目錄下執行命令 service iptables stop
2. 進入etc目錄中,修改 redis.conf 檔案
daemonize yes — 修改為yes 後臺啟動
requirepass 123456 ----註釋取消掉設定賬號密碼
3. 進入bin目錄,為 redis 啟動指定後臺啟動 ./redis-server /usr/local/redis/etc/redis.conf 為redis-server指定配置檔案


連線

Redis命令連線方式


./redis-cli -h 127.0.0.1 -p 6379 -a “123456” — redis 使用賬號密碼連線(若本機修改了網路ip,須使用網路ip)
PING 結果表示成功

客戶端連線方式
使用redisclient-win32.x86.1.5


停止

停止redis方法: shutdown 或者 kill redis程序的pid(如9886)
ps aux | grep ‘6379’ — 查詢埠
kill -15 9886 — 殺死重置
kill -9 9886 — 強制殺死


Redis主從複製

伺服器:三臺(克隆方式時注意修改MAC地址)
介紹: redis的複製功能是支援多個數據庫之間的資料同步。一類是主資料庫(master)一類是從資料庫(slave),主資料庫可以進行讀寫操作,當發生寫操作的時候自動將資料同步到從資料庫,而從資料庫一般是隻讀的,並接收主資料庫同步過來的資料,一個主資料庫可以有多個從資料庫,而一個從資料庫只能有一個主資料庫。
通過redis的複製功能可以很好的實現資料庫的讀寫分離,提高伺服器的負載能力。主資料庫主要進行寫操作,而從資料庫負責讀操作。
過程:


當一個從資料庫啟動時,會向主資料庫傳送sync命令;
主資料庫接收到sync命令後會開始在後臺儲存快照(執行rdb操作),並將儲存期間接收到的命令快取起來;
當快照完成後,redis會將快照檔案和所有快取的命令傳送給從資料庫;
從資料庫收到後,會載入快照檔案並執行收到的快取的命令。
配置:
修改 slave 從伺服器Redis中的 redis.conf 檔案
slaveof 192.168.xxx.xxx 6379 (即ip 埠號)
masterauth 123456 (主redis伺服器配置了密碼,則需要配置密碼)
注意:修改過 redis.conf 配置前,若已啟動過redis,需要結束redis程序,可執行強制命令 kill -9 9886(pid),才會生效。


哨兵機制

實現步驟
(1)拷貝到 etc 目錄 cp sentinel.conf /usr/local/redis/etc
(2)修改從伺服器 sentinel.conf 配置檔案
sentinel monitor mymast 192.168.xxx.xxx 6379 1 (主節點 名稱IP 埠號 選舉次數)
sentinel auth-pass mymaster 123456
(3)修改心跳檢測(比如3000毫秒)
sentinel down-after-milliseconds mymaster 3000
(4)sentinel parallel-syncs mymaster 2 做多少合格節點
(5)啟動哨兵模式(注意關閉防火牆 service iptables stop)命令
./redis-server /usr/local/redis/etc/sentinel.conf --sentinel &
(6)停止哨兵模式
結束哨兵程序:
查詢程序PID ps aux | grep '26379’
殺死程序 kill -15 9886
(7)檢視資訊,在redis命令下( 127.0.0.1:6379>),輸入info