1. 程式人生 > 資料庫 >Redis如何實現資料庫讀寫分離詳解

Redis如何實現資料庫讀寫分離詳解

前言

Redis是一種NoSQL的文件資料庫,通過key-value的結構儲存在記憶體中,Redis讀的速度是110000次/s,寫的速度是81000次/s,效能很高,使用範圍也很廣。Redis是一個key-value儲存系統。和Memcached類似,為了保證效率,資料都是快取在記憶體中。區別的是redis會週期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案,並且在此基礎上實現了master-slave(主從)同步。在部分場合可以對關係資料庫起到很好的補充作用。它提供了Java,C/C++(hiredis),C#,PHP,JavaScript,Perl,Object-C,Python,Ruby等客戶端,使用很方便。

下面用一個例項實現redis的讀寫分離,步驟如下:

第一步:下載redis

官網下載地址: https://redis.io/download

本地下載地址://www.jb51.net/softs/541181.html

下載最新的穩定版,解壓拷貝到 ~/redis 中

編譯程式碼:

$ make
$ test

第二步:配置redis

編輯redis.conf檔案

bind 127.0.0.1
port 6379

拷貝redis.conf檔案,改名為slave.conf,開啟編輯

bind 127.0.0.1
port 6380
slaveof 127.0.0.1 6379  

第三步:執行服務

開啟【主服務】

$ src/redis-server

開啟【從服務】

$ src/redis-server slave.conf

執行【主服務】的客戶端

$ src/redis-cli

執行【從服務】的客戶端

$ src/redis-cli -h 127.0.0.1 -p 6380

檢視主從服務的關係

$ src/redis-cli info replication  

第四步:測試伺服器

下面例項演示:在主伺服器中儲存一些資料,然後在從伺服器中查詢出來

可以看出,從伺服器成功的獲取到了主伺服器的備份資料。

假如我們在從伺服器中儲存資料,看結果如何?

提示錯誤:

(error) READONLY You can't write against a read only slave.

說明從伺服器只能讀資料,而不能寫入資料。

資料在【從伺服器】裡【讀】,在【主伺服器】裡【寫】。

這樣就實現了redis資料庫的讀寫分離功能。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對我們的支援。