1. 程式人生 > >Redis讀寫分離

Redis讀寫分離

一、Redis介紹

Redis是當前比較熱門的NOSQL系統之一,它是一個key-value儲存系統。和Memcache類似,但很大程度補償了Memcache的不足,它支援儲存的value型別相對更多,包括string、list、set、zset和hash。這些資料型別都支援push/pop、add/remove及取交集並集和差集及更豐富的操作。在此基礎上,Redis支援各種不同方式的排序。和Memcache一樣,Redis資料都是快取在計算機記憶體中,不同的是,Memcache只能將資料快取到記憶體中,無法自動定期寫入硬碟,這就表示,一斷電或重啟,記憶體清空,資料丟失。所以Memcache的應用場景適用於快取無需持久化的資料。而Redis不同的是它會週期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案,實現資料的持久化。

二、Redis的安裝

下面介紹在Linux環境下,Redis的安裝與部署

1、首先上官網下載Redis 壓縮包,地址:http://redis.io/download 下載穩定版redis-2.8.12即可。

2、通過遠端管理工具,將壓縮包拷貝到Linux伺服器中,執行解壓操作

這裡寫圖片描述

3、執行make 對Redis解壓後文件進行編譯

這裡寫圖片描述

編譯完成之後,可以看到解壓檔案redis-2.8.12 中會有對應的src、conf等資料夾

這裡寫圖片描述

4、編譯成功後,進入src資料夾,執行make install進行Redis安裝

5、安裝完成,介面如下

這裡寫圖片描述

三、Redis的部署

安裝成功後,下面對Redis 進行部署

1、首先為了方便管理,將Redis檔案中的conf配置檔案和常用命令移動到統一檔案中

a)建立bin和etc檔案

mkdir -p/usr/local/redis/bin
mkdir -p/usr/local/redis/etc

b)執行Linux檔案移動命令:

mv /usr/local/redis-2.8.12/redis.conf /usr/local/redis/etc
mv /usr/local/redis-2.8.12/src/mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local
/redis/bin

2、執行Redis-server 命令,啟動Redis 服務

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (需要指定redis.conf目錄)

這裡寫圖片描述

注意:這裡直接執行Redis-server 啟動的Redis服務,是在前臺直接執行的(效果如上圖),也就是說,執行完該命令後,如果Lunix關閉當前會話,則Redis服務也隨即關閉。正常情況下,啟動Redis服務需要從後臺啟動,並且指定啟動配置檔案。

3、後臺啟動redis服務

a)首先編輯conf檔案,將daemonize屬性改為yes(表明需要在後臺執行),指定redis公共檔案dump.rdb目錄

 vi /usr/local/redis/etc/redis.conf

後臺執行

這裡寫圖片描述

dump.rdb目錄

這裡寫圖片描述

b)再次啟動redis服務,並指定啟動服務配置檔案

redis-server /usr/local/redis/etc/redis.conf

4、服務端啟動成功後,執行redis-cli啟動Redis 客戶端,檢視埠號

這裡寫圖片描述

備註:redis單節點安裝;reids伺服器的6379埠telnet不通

這裡寫圖片描述

檢視reids程序和埠,都是存在的。只是ip地址是127.0.0.1而不是0.0.0.0,只是本機能使用;

查詢redis的配置檔案redis.conf ; 編輯配置檔案vim /usr/local/redis/etc/redis.conf
bind 127.0.0.1修改為bind 0.0.0.0

重啟redis-server

5、Redis主節點Master配置完成

1、執行Linux命令

scp /usr/local/redis/* root@IP:/usr/local/redis
scp /usr/local/redis-2.8.12/* root@IP:/usr/local/redis-2.8.12

保持主Master和從salve配置一致

2、實現主Master、從salve複製 只需要在從節點redis.conf上配置主IP、密碼

vi /usr/local/redis/redis.conf

#slaveof <masterip> <masterport>
slaveof IP
#masterauth <master-password>
masterauth ******

這裡寫圖片描述

3、配置完成後,登陸主節點Master客戶端redis-cli執行info命令

這裡寫圖片描述

登陸主節點Master客戶端redis-cli執行info命令

這裡寫圖片描述

4、主Master啟動redis-cli 客戶端 執行命令keys *

這裡寫圖片描述

從salve啟動redis-cli 客戶端 執行命令keys *

這裡寫圖片描述

Master主節點寫,salve從節點讀,這樣就實現了主從複製

這裡寫圖片描述