redis簡介

redis是一種非關系性數據庫,單進程工作模型,通常用來做KV存儲,同memcached一樣,所有數據加載至內存工作因此工作效率非??欤麜却嬷械臄祿街链疟P當中,使得數據不會像memcached的一樣,斷電后丟失數據。

自身支持多種數據結構(此處列出常用數據結構)

string:單一的kv存儲

hash:支持hash計算后的存儲

list:列表存儲

set:無序集合

sortset:有序集合

另外redis還支持作為消息隊列使用

支持不嚴格的事務,redis的事務屬于將多個語句打包一次性執行,但如果在執行過程中發現單個語句發生了錯誤,不會進行回滾,而會繼續往下執行,但好在redis給我們提供了一個watch功能,如果在一次事務中,事務所需要修改到的數據如果發生了改變,執行時會拒絕執行。在事務執行時,redis不會接收任何其他指令,直到事務完成以后再執行其他操作。

redis像磁盤中同步數據的方式有兩種,RDB(snapshot)和AOF(appendonlyfile),RDB類似于我們在mysql中的備份策略,定期的向磁盤進行同步。AOF類似于mysql中的二進制文件一樣,將語句追加至文件中。

redis常用場景,一般作為kv存儲使用或者在需要使用消息隊列時用到。

redis同樣支持主從復制,一主多從,并且支持鏈式復制,主從服務器都異步同步數據,因此同步過程中從服務器仍能接受讀請求,主仍能接受讀寫請求,

同步方式:在從服務鏈接到主服務器會發出同步指令,主服務器收到后會將內存中所有數據同步至RDB(快照)文件中,在發送給從服務器,從服務器在接受到后加載至內存中,以完成同步。

盡管如此redis還是和mysql一樣,面臨主節點意外down機后,不能進行自動主從切換。redis直接提供了解決方案,在redis中有個叫sentinel的組件,他負責監控主節點存活狀態,如果主節點無法聯系,會選舉出從節點變更為主節點。

下面演示一下redis主從,以及基于sentinel實現主節點down機后自動切換

準備了3個節點,一主一從一sentinel

做好時間同步,配置好epel源,直接安裝

[root@localhost ~]# vi /etc/redis.conf

編輯主服務器配置文件,這里做實驗使用只需要修改主配置文件監聽在自己的IP地址上。

redis簡介

編輯從配置文件添加

redis簡介

slaveof  [主ip] [主port]                    #主服務器IP 和端口

啟動服務

redis簡介

登錄主服務器,查看是否以有從服務器,接著可以插入些key 看同步是否成功

redis簡介

插入兩條數據

redis簡介

在從服務器上驗證~說明此事同步成功。

接著我們來配置sentinel節點。

[root@localhost ~]# vi /etc/redis-sentinel.conf 

編輯配置文件

修改以下幾行

sentinel monitor mymaster 192.168.20.108  6379 1

mymaster指明集群名稱,可以隨便給,后面是主節點IP和端口,最后的1代表幾個sentinel認為主節點down了過后就可以進行切換,可以理解為票數。(避免sentinel節點自己于主節點通訊不正常,但能聯系到其他從節點,進行錯誤的切換,在常用情況下應該配置基數個節點的sentinel以避免發生上訴情況)

sentinel down-after-milliseconds mymaster 1000                #此行可不做修改,但這里定義的是多久聯系不到主節點,就認為需要切換,默認是30分鐘,太長了,我們這里實驗用 修改為1分鐘

protected-mode no          #在redis3.2過后添加的安全選項,如果沒有BINDip,且沒有認證方式啟動,會自動啟動保護模式,遠程登陸進去無法做任何操作,這里我們給他指定為不啟用保護模式

daemonize yes                #后臺運行

[root@localhost ~]# redis-server /etc/redis-sentinel.conf –sentinel             #啟動服務

redis簡介

鏈接至sentinel,并且查看是否有主服務器相應信息,這里看到了已經找到主服務器了,接著我去把主服務器關掉

redis簡介

關機后立即之前的從服務器就立即變到主的了~


原創文章,作者:N24_Ghost,如若轉載,請注明出處:http://www.www58058.com/71265

(0)
N24_GhostN24_Ghost
上一篇 2017-03-17 15:26
下一篇 2017-03-17 19:28

相關推薦

  • grep

    1. 文本處理工具的使用:   cat 連接文件并打印到標準輸出設備,但是文件較大時,翻屏太快,與more或者less連用 命令反著輸入(tac)將會反向輸出文本文件 用法: cat 選項 參數   選項: -A 顯示不可打印字符 -b 對行進行編號,空白行不編號 -s 壓縮空白行 -n 對行進行編號,包括空白航  參數: &n…

    Linux干貨 2016-08-08
  • N25第一周作業

    1.描述計算機的組成及其功能   計算機整體上分為兩大部分:     一、硬件部分:運算器,存儲器,控制器,輸入設備,輸出設備     運算器是對數據進行加工處理,主要是指各種算術運算與邏輯運算     存儲器是存儲各種數據、信號、命令等信息并在他們需要時提供這些信息 &nbsp…

    Linux干貨 2016-12-03
  • btrfs管理和應用

    一、btrfs概念        在btrfs中存在三種類型的數據,data, metadata和system。它們表示:        DATA           數據塊。       &nbsp…

    系統運維 2016-04-12
  • 進程和計劃任務

    進程概念 內核的功用:進程管理,文件系統,網絡功能,內存管理,驅動程序,安全功能等 Process:運行中的程序的一個副本,是被載入內存的一個指令集和     進程ID(Process ID,PID)號碼被用來標記各個進程     UID,GID和SELinux語境決定對文件系統…

    Linux干貨 2016-09-13
  • 用戶管理權限命令總結

    用戶 Linux操作系統是一個多用戶操作系統,它允許多用戶同時登錄到系統上并使用資源。系統會根據賬戶來區分每個用戶的文件,進程,任務和工作環境,使得每個用戶工作都不受干擾。 用戶分類 超級用戶:(root,UID=0) 普通用戶:(UID在500到60000) 偽用戶:(UID在1到499) 系統和服務相關的:bin、daemon、shutdown等 進程相…

    Linux干貨 2017-04-03
  • 軟硬鏈接區別及tr轉換命令

    軟硬鏈接的區別 (1)軟連接可以 跨文件系統 ,硬連接不可以 (2)關于 I節點的問題 。硬連接不管有多少個,都指向的是同一個I節點,會把 結點連接數增加,只要結點的連接數不是 0,文件就一直存在 ,不管你刪除的是源文件還是連接的文件。只         要有一個存在,文件就 存…

    Linux干貨 2016-08-08

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-04-07 18:21

    總結的非常好,可以來一個目錄結構~~~~加油!?。?/p>

欧美性久久久久