Redis如何實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離詳解
前言
Redis是一種NoSQL的文檔數(shù)據(jù)庫,通過key-value的結(jié)構(gòu)存儲在內(nèi)存中,Redis讀的速度是110000次/s,寫的速度是81000次/s,性能很高,使用范圍也很廣。Redis是一個key-value存儲系統(tǒng)。和Memcached類似,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是redis會周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步。在部分場合可以對關(guān)系數(shù)據(jù)庫起到很好的補(bǔ)充作用。它提供了Java,C/C++(hiredis),C#,PHP,JavaScript,Perl,Object-C,Python,Ruby等客戶端,使用很方便。
下面用一個實(shí)例實(shí)現(xiàn)redis的讀寫分離,步驟如下:
第一步:下載redis
官網(wǎng)下載地址: https://redis.io/download
本地下載地址:http://www.dbjr.com.cn/softs/541181.html
下載最新的穩(wěn)定版,解壓拷貝到 ~/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
第三步:運(yùn)行服務(wù)
開啟【主服務(wù)】
$ src/redis-server
開啟【從服務(wù)】
$ src/redis-server slave.conf
運(yùn)行【主服務(wù)】的客戶端
$ src/redis-cli
運(yùn)行【從服務(wù)】的客戶端
$ src/redis-cli -h 127.0.0.1 -p 6380
查看主從服務(wù)的關(guān)系
$ src/redis-cli info replication
第四步:測試服務(wù)器
下面實(shí)例演示:在主服務(wù)器中存儲一些數(shù)據(jù),然后在從服務(wù)器中查詢出來
可以看出,從服務(wù)器成功的獲取到了主服務(wù)器的備份數(shù)據(jù)。
假如我們在從服務(wù)器中保存數(shù)據(jù),看結(jié)果如何?
提示錯誤:
(error) READONLY You can't write against a read only slave.
說明從服務(wù)器只能讀數(shù)據(jù),而不能寫入數(shù)據(jù)。
數(shù)據(jù)在【從服務(wù)器】里【讀】,在【主服務(wù)器】里【寫】。
這樣就實(shí)現(xiàn)了redis數(shù)據(jù)庫的讀寫分離功能。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Deepin UOS編譯安裝Redis的實(shí)現(xiàn)步驟
本文主要介紹了Deepin UOS編譯安裝Redis的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01springboot +redis 實(shí)現(xiàn)點(diǎn)贊、瀏覽、收藏、評論等數(shù)量的增減操作
這篇文章主要介紹了springboot +redis 實(shí)現(xiàn)點(diǎn)贊、瀏覽、收藏、評論等數(shù)量的增減操作,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09Redis?數(shù)據(jù)恢復(fù)及持久化策略分析
本文將詳細(xì)分析Redis的數(shù)據(jù)恢復(fù)機(jī)制,持久化策略及其特點(diǎn),并討論選擇持久化策略時需要考慮的因素,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06Redis實(shí)現(xiàn)單設(shè)備登錄的場景分析
這篇文章主要介紹了Redis實(shí)現(xiàn)單設(shè)備登錄,用戶首次登錄時,將用戶信息存入Redis,key是用戶id,value是token,當(dāng)用戶在其他設(shè)備登錄時,會重新生成token,這個時候原先的token已經(jīng)被覆蓋了,本文給大家提供樣例及核心代碼,感興趣的朋友參考下吧2022-04-04