Redis-主從復制

一、Redis的Replication:

?? ?這里首先需要說明的是,在Redis中配置Master-Slave模式真是太簡單了。相信在閱讀完這篇Blog之后你也可以輕松做到。這里我們還是先列出一些理論性的知識,后面給出實際操作的案例。
?? ?下面的列表清楚的解釋了Redis Replication的特點和優勢。
?? ?1). 同一個Master可以同步多個Slaves。
?? ?2). Slave同樣可以接受其它Slaves的連接和同步請求,這樣可以有效的分載Master的同步壓力。因此我們可以將Redis的Replication架構視為圖結構。
?? ?3). Master Server是以非阻塞的方式為Slaves提供服務。所以在Master-Slave同步期間,客戶端仍然可以提交查詢或修改請求。
?? ?4). Slave Server同樣是以非阻塞的方式完成數據同步。在同步期間,如果有客戶端提交查詢請求,Redis則返回同步之前的數據。
?? ?5). 為了分載Master的讀操作壓力,Slave服務器可以為客戶端提供只讀操作的服務,寫服務仍然必須由Master來完成。即便如此,系統的伸縮性還是得到了很大的提高。
?? ?6). Master可以將數據保存操作交給Slaves完成,從而避免了在Master中要有獨立的進程來完成此操作。
?? ?
二、Replication的工作原理:

?? ?在Slave啟動并連接到Master之后,它將主動發送一個SYNC命令。此后Master將啟動后臺存盤進程,同時收集所有接收到的用于修改數據集 的命令,在后臺進程執行完畢后,Master將傳送整個數據庫文件到Slave,以完成一次完全同步。而Slave服務器在接收到數據庫文件數據之后將其 存盤并加載到內存中。此后,Master繼續將所有已經收集到的修改命令,和新的修改命令依次傳送給Slaves,Slave將在本次執行這些數據修改命 令,從而達到最終的數據同步。
?? ?如果Master和Slave之間的鏈接出現斷連現象,Slave可以自動重連Master,但是在連接成功之后,一次完全同步將被自動執行。
?? ?
三、如何配置Replication:

?? ?見如下步驟:
?? ?1). 同時啟動兩個Redis服務器,可以考慮在同一臺機器上啟動兩個Redis服務器,分別監聽不同的端口,如6379和6380。
?? ?2). 在Slave服務器上執行一下命令:
?? ?/> redis-cli -p 6380?? #這里我們假設Slave的端口號是6380
?? ?redis 127.0.0.1:6380> slaveof 127.0.0.1 6379 #我們假設Master和Slave在同一臺主機,Master的端口為6379
?? ?OK
?? ?上面的方式只是保證了在執行slaveof命令之后,redis_6380成為了redis_6379的slave,一旦服務(redis_6380)重新啟動之后,他們之間的復制關系將終止。
?? ?如果希望長期保證這兩個服務器之間的Replication關系,可以在redis_6380的配置文件中做如下修改:
?? ?/> cd /etc/redis? #切換Redis服務器配置文件所在的目錄。
?? ?/> ls
?? ?6379.conf? 6380.conf
?? ?/> vi 6380.conf
?? ?將
?? ?# slaveof <masterip> <masterport>
?? ?改為
?? ?slaveof 127.0.0.1 6379
?? ?保存退出。
?? ?這樣就可以保證Redis_6380服務程序在每次啟動后都會主動建立與Redis_6379的Replication連接了。
?? ?
四、應用示例:

?? ?這里我們假設Master-Slave已經建立。
?? ?#啟動master服務器。
?? ?[root@Stephen-PC redis]# redis-cli -p 6379
?? ?redis 127.0.0.1:6379>
?? ?#情況Master當前數據庫中的所有Keys。
?? ?redis 127.0.0.1:6379> flushdb
?? ?OK
?? ?#在Master中創建新的Keys作為測試數據。
?? ?redis 127.0.0.1:6379> set mykey hello
?? ?OK
?? ?redis 127.0.0.1:6379> set mykey2 world
?? ?OK
?? ?#查看Master中存在哪些Keys。
?? ?redis 127.0.0.1:6379> keys *
?? ?1) "mykey"
?? ?2) "mykey2"
?? ?
?? ?#啟動slave服務器。
?? ?[root@Stephen-PC redis]# redis-cli -p 6380
?? ?#查看Slave中的Keys是否和Master中一致,從結果看,他們是相等的。
?? ?redis 127.0.0.1:6380> keys *
?? ?1) "mykey"
?? ?2) "mykey2"
?? ?
?? ?#在Master中刪除其中一個測試Key,并查看刪除后的結果。
?? ?redis 127.0.0.1:6379> del mykey2
?? ?(integer) 1
?? ?redis 127.0.0.1:6379> keys *
?? ?1) "mykey"
?? ?
?? ?#在Slave中查看是否mykey2也已經在Slave中被刪除。
?? ?redis 127.0.0.1:6380> keys *
?? ?1) "mykey"

轉載于:https://www.cnblogs.com/JohnABC/p/3343635.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/377781.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/377781.shtml
英文地址,請注明出處:http://en.pswp.cn/news/377781.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

.wav音樂文件轉換為.fft.npy頻譜格式文件

需要修改的地方 十個文件夾&#xff0c;每個文件夾下都有100首.au格式的音樂&#xff0c;這里舉個例子&#xff0c;那其中5個類別進行轉換 genre_list ["classical", "jazz", "country", "pop", "rock", "metal"…

WINDOWS編程筆記 2012.2.7

操作系統感知事件和傳遞事件是通過消息機制來實現的typedef struct tagMSG{ HWND hwnd; //窗口的句柄 UINT message; WPARAM wParam; //信息的附加參數 LPARAM lParam; DWORD time; //消息傳遞的時間 POINT pt; //消息投遞的時候&#xff0c;光標的位置}…

php 郵件驗證_PHP程序來驗證電子郵件地址

php 郵件驗證Suppose there is a form floating where every user has to fill his/her email ID. It might happen that due to typing error or any other problem user doesnt fill his/her mail ID correctly. Then at that point, the program should be such that it sho…

【C++grammar】結構化綁定

目錄定義1、用于原生數組的結構化綁定聲明2、用于std::array的結構化綁定聲明3、用于對象數據成員的結構化綁定聲明定義 結構化綁定聲明是一個聲明語句&#xff0c;意味著聲明了一些標識符并對標識符做了初始化。將指定的一些名字綁定到初始化器的子對象或者元素上。 對于初始…

URAL 1106 Two Teams (DFS)

題意 小組里有N個人&#xff0c;每個人都有一個或多個朋友在小組里。將小組分成兩個隊伍&#xff0c;每個隊伍的任意一個成員都有至少一個朋友在另一個隊伍。 思路 一開始覺得和前幾天做過的一道2-sat&#xff08;每個隊伍任意兩個成員都必須互相認識&#xff09;相似然后就往那…

七、邏輯回歸項目實戰---音樂分類器

一、項目需求 訓練集數據為六類音樂([“classical”, “jazz”, “country”, “pop”, “rock”, “metal”])&#xff0c;格式為.wav&#xff0c;每類音樂都有100首 音樂分類器項目&#xff0c;主要運用到了傅里葉變換函數 很多東西越在高維空間處理起來就會變得越是簡單 例…

仿京東左側欄目導航

效果圖&#xff1a; 查看效果&#xff1a;http://www.miiceic.org.cn/eg/eg10/abzc.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http:…

python創建矩陣_在Python中創建矩陣的Python程序

python創建矩陣There is no specific data type in Python to create a matrix, we can use list of list to create a matrix. Python中沒有特定的數據類型來創建矩陣&#xff0c;我們可以使用list列表來創建矩陣 。 Consider the below example, 考慮下面的示例&#xff0c;…

函數定義

//表達式定義函數 var squarefunction(x){return x*x;}//只有變量聲明(var square;)提前了&#xff0c;初始化代碼仍然在原處。 //函數聲明語句 function f(x){return x*x;}//整個函數體被顯式的“提前”到了腳本或函數的頂部。 //因此他們在整個腳本和函數內都是可見的。此種方…

leetcode 491. 遞增子序列 思考分析

題目 給定一個整型數組, 你的任務是找到所有該數組的遞增子序列&#xff0c;遞增子序列的長度至少是2。 說明: 給定數組的長度不會超過15。 數組中的整數范圍是 [-100,100]。 給定數組中可能包含重復數字&#xff0c;相等的數字應該被視為遞增的一種情況。 思考 這一題和le…

八、神經網絡

一、為啥要有神經網絡&#xff1f; 在前面的幾篇博客中&#xff0c;很容易知道我們處理的都是線性的數據&#xff0c;例如&#xff1a;線性回歸和邏輯回歸&#xff0c;都是線性的算法 但是&#xff0c;實際上日常生活中所遇到的數據或者問題絕大多數還是非線性的 一般面對非線…

scale up 和 scale out

目前在調研sheepdog的時候&#xff0c;看到scale up和scale out的術語&#xff0c;理解了一下&#xff1a; 這兩個詞匯均是存儲系統方面的概念 scale up: 縱向擴展 購買更大的存儲&#xff0c;遷移原有數據到大的存儲中 &#xff08;添加新一個新的機器&#xff09; scale out…

icse ccf_ICSE的完整形式是什么?

icse ccfICSE&#xff1a;印度中學教育證書 (ICSE: Indian Certificate of Secondary Education) ICSE is an abbreviation of the Indian Certificate of Secondary Education (ICSE). It is an educational board of the school in India for class 10th which is private an…

Delphi XE2 之 FireMonkey 入門(18) - TLang(多語言切換的實現)

一個小小的 TLang 類, 實現多語言切換, 挺好的. 它的工作思路是:1、首先通過 AddLang(語言代碼) 添加語言類別, 如: AddLang(en)、AddLang(cn).2、每個語言代碼對應一個 TStrings 列表, 獲取方式如: LangStr[en]、LangStr[cn].3、可以手動填充這些數據、可以通過 LoadFromFile(…

leetcode 46. 全排列 思考分析

目錄1、題目2、思考3、優化1、題目 給定一個 沒有重復 數字的序列&#xff0c;返回其所有可能的全排列。 2、思考 老規矩&#xff0c;先畫出給出的例子的解空間樹&#xff1a; 觀察我們可以發現&#xff1a; 1、深度向下一層深入時&#xff0c;出現過的元素不能再出現&…

Arduino UNO R3開發板+MQ-2煙霧濃度傳感器+火焰傳感器+舵機+無源蜂鳴器+風扇+步進電機+WIFI模塊+RGB三色LED燈+SIM900A所構成的室內安全報警模塊

該系統模塊主要由Arduino UNO R3開發板MQ-2煙霧濃度傳感器火焰傳感器舵機無源蜂鳴器風扇步進電機WIFI模塊RGB三色LED燈SIM900A所組成&#xff0c;MQ-2煙霧濃度傳感器達到不同的閾值的時候&#xff0c;LED燈會通過不同的顏色來進行警示。煙霧濃度增大&#xff0c;LED燈依次顯示綠…

highcharts中series帶參數的賦值問題

需要得到的代碼如下&#xff1a; series: [{name: 棒號1,data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]}, {name: 棒號2,data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]}, {name: 棒號3,data: [-0.9, 0.6, 3.5, …

可編程ic卡 通用嗎_8255可編程IC

可編程ic卡 通用嗎Introduction 介紹 An 8255 programmable integrated circuit (IC) is an IC used for interfacing the microprocessor with the peripheral devices. It is a 40 pin IC which was introduced by INTEL to use with its 8085 and 8086 microprocessors. 82…

POJ 1944 Fiber Communications (枚舉 + 并查集 OR 線段樹)

題意 在一個有N&#xff08;1 ≤ N ≤ 1,000&#xff09;個點環形圖上有P&#xff08;1 ≤ P ≤ 10,000&#xff09;對點需要連接。連接只能連接環上相鄰的點。問至少需要連接幾條邊。 思路 突破點在于最后的結果一定不是一個環&#xff01;所以我們枚舉斷邊&#xff0c;則對于…

九、邏輯回歸多分類和softmax多分類

一、邏輯回歸多分類 假設激活函數使用的是sigmoid函數 邏輯回歸多分類其實是多個二分類而已&#xff0c;若求三分類問題需要對訓練的數據樣本進行適當的修改調整即可&#xff0c;如何修改樣本數據可以參考邏輯回歸二分類和多分類本質區別&#xff0c;內容都一樣&#xff0c…