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