redis集群 - redis主從配置目的是什么
問(wèn)題描述
如題,現(xiàn)在在學(xué)習(xí)redis,看到了主從配置這一塊。然后看到某些做法是配置slave為只讀,然后master關(guān)閉了rdb。上網(wǎng)看了一下redis主從配置 說(shuō)是可以使數(shù)據(jù)庫(kù)讀寫(xiě)分離,減輕數(shù)據(jù)庫(kù)壓力。我想問(wèn)一下,除了從服務(wù)器不能寫(xiě)之外,哪個(gè)地方體現(xiàn)了 讀與寫(xiě)分離。我的疑惑是,是否數(shù)據(jù)庫(kù)的讀寫(xiě)分離需要程序支持才可以?(讀的時(shí)候?qū)?shù)據(jù)源指向slave,寫(xiě)的時(shí)候指向master)。如果程序不這樣做,那么主從配置是否就沒(méi)了意義了呢?
問(wèn)題解答
回答1:(數(shù)據(jù)層)讀寫(xiě)分離對(duì)上層(邏輯層)透明才是正常的邏輯。不然會(huì)有耦合。總不能我的數(shù)據(jù)服務(wù)
換個(gè)端口業(yè)務(wù)端也跟著該代碼吧。
一般的讀寫(xiě)分離都是通過(guò)中間件或是插件的形式出現(xiàn)對(duì)業(yè)務(wù)邏輯層是透明的(它還以為后臺(tái)只有一個(gè)數(shù)據(jù)服務(wù)呢,就像是反向代理),redis就是這種形式有master來(lái)判斷哪個(gè)是讀哪個(gè)是寫(xiě)來(lái)統(tǒng)一調(diào)度cluster的節(jié)點(diǎn)。像mysql的讀寫(xiě)分離或是主從都是通過(guò)插件完成的。
切記不能在邏輯層的代碼里體現(xiàn)讀寫(xiě)分離(讀操作用A服務(wù)的連接,寫(xiě)操作用B服務(wù)器的連接)。
相關(guān)文章:
1. mac OSX10.12.4 (16E195)下Mysql 5.7.18找不到配置文件my.cnf2. mysql - 數(shù)據(jù)庫(kù)表中,兩個(gè)表互為外鍵參考如何解決3. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語(yǔ)法實(shí)現(xiàn)存在即更新應(yīng)該使用哪個(gè)標(biāo)簽?4. mysql - 數(shù)據(jù)庫(kù)建字段,默認(rèn)值空和empty string有什么區(qū)別 1105. mysql儲(chǔ)存json錯(cuò)誤6. sql語(yǔ)句 - 如何在mysql中批量添加用戶(hù)?7. mysql - 表名稱(chēng)前綴到底有啥用?8. php - 公眾號(hào)文章底部的小程序二維碼如何統(tǒng)計(jì)?9. Navicat for mysql 中以json格式儲(chǔ)存的數(shù)據(jù)存在大量反斜杠,如何去除?10. mysql - 怎么生成這個(gè)sql表?
