Redis的持久化方式:

Redis提供了兩種數據持久化的方式:

  • RDB

    該機制是指在指定的時間間隔內將內存中的數據集快照寫入磁盤。

  • AOF

    該機制將以日志的形式記錄服務器所處理的每一個寫操作。

在Redis服務器啟動之初會讀取文件來重新構建數據庫,以保證啟動后數據庫中的數據是完整的。

2. RDB

Redis Database:通過單文件的方式來持久化

RDB是默認的持久化方式,默認存儲在啟動redis服務器時所在當前目錄下的dump.rdb文件中,一般都會修改存儲在一個固定的目錄中

編輯配置文件:

dbfilename dump.rdb         #持久化文件的名稱
dir  ./ ? ?                         #持久化文件的目錄,默認為執行redis-server命令時所在的當前目錄

持久化的時機:

  • 在數據庫關閉時會持久化(需要注意的是在數據庫宕機時不會生成,數據可能會丟失)

  • 滿足特定條件時會持久化,編輯配置文件:

save 900 1      #在900秒內,只要有1個key發生變化,就會dump持久化
save 300 10
save 60 10000

優缺點:

  • 缺點:可能會丟失數據

  • 優點:效率比較高

3. AOF

Append Only File:通過操作日志的方式來持久化

編輯配置文件:

appendonly yes                      #開啟aof模式的持久化
ppendfilename "appendonly.aof"  #aof的持久化文件
appendfsync everysec ?              #每一秒進行一次持久化操作,可取值:always、everysec、no
dir ./      #持久化文件的目錄,與RDB相同

優缺點:

  • 缺點:效率比較差

  • 優點:丟失數據量比較少

Redis的架構模式有以下幾種:

  1. 單機模式(Standalone)

    最簡單的模式,不涉及數據同步,所以天然具備一致性。

    單機Redis能夠承載的QPS(每秒查詢速率)大概在幾萬左右。

    如果用戶訪問量太大,可能會導致redis直接掛掉。缺乏可靠性,單機有宕機的風險。

  2. 主從模式(Master-Slave)

    也稱為主從復制,允許根據一個Redis服務器來創建任意多個該服務器的復制品。

    其中被復制的服務器為主服務器/節點(master),而通過復制創建出來的服務器復制品則為從服務器/節點(slave)。

    特點:

    • 主從結構:一個主節點可以有多個從節點,從節點可以有從節點,形成級聯結構。

    • 數據同步:主節點上的數據更新后,會自動將更新的數據同步到從節點,并且這種同步是異步進行的。

    • 讀寫分離:主從模式可以實現讀寫分離,主節點主要負責寫入操作,而從節點則主要負責讀取操作。

    • 數據備份:從節點可以作為主節點的備份節點,保存主節點的數據備份,提高數據的安全性和可靠性。

  3. 哨兵模式(Sentinel)

    哨兵模式是在主從模式的基礎上添加了故障檢測和自動故障轉移的功能。

    在哨兵模式下,哨兵進程會監視主從節點的運行狀態,當主節點出現故障時,會自動將其中一個從節點提升為新的主節點,并通知其他從節點修改配置文件,以將數據復制修改為主節點。這樣可以實現自動的故障轉移,無需人工干預,提高系統可用性和可擴展性。

    哨兵模式不可以單獨使用,它需要與主從模式一起使用。

  4. 集群模式(Cluster)

    集群模式是為了解決單機Redis容量有限的問題,將數據按一定的規則分配到多臺機器上。

    在集群模式下,每個節點都負責存儲數據的一部分,并且可以處理來自其他節點的請求。當一個節點出現故障時,其他節點可以接管它的職責,繼續處理請求。

    集群模式可以提高并發處理能力和數據容量,但實現復雜度較高,需要處理數據分片和節點間的通信等問題。

2. 主從模式的配置

啟動兩個Redis服務器,可以考慮在同一臺機器上啟動兩個Redis服務器,分別監聽不同的端口,如6379和6380

將配置文件拷貝兩份,并修改端口號

步驟:

  1. 主服務器master

    將配置文件拷貝兩份,并修改端口號

    $ redis-server 6379.conf
  2. 從服務器slave

    $ vi 6380.conf  # 編輯配置文件,配置主從關系slaveof 127.0.0.1 6379 ?# 在末尾添加,指定master的主機地址和端口號
    $ redis-server 6380.conf
    $ redis-cli -p 6380 ? # 連接從服務器,slave端口號為6380

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

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

相關文章

leedcode【203】. 移除鏈表元素——Java解法

Problem: 203. 移除鏈表元素 題目思路解題方法復雜度Code效果 題目 給你一個鏈表的頭節點 head 和一個整數 val ,請你刪除鏈表中所有滿足 Node.val val 的節點,并返回 新的頭節點 。 示例 1: 輸入:head [1,2,6,3,4,5,6], val…

OS復習筆記ch6-1

死鎖的原理 定義 一組進程中,其中每個進程因等待事件而阻塞,且所等待的事件只能被這組進程中的另一阻塞進程激發稱之為死鎖。 舉例如下 四個車輛希望緊迫的希望能很快通過,每輛車需要兩個象限的資源,然而四個車都只得到一個象…

golang調用aliyun的語音通話服務,復制直接使用

golang調用aliyun的語音通話服務 通過API使用語音通知/語音驗證碼——阿里云官方文檔SingleCallByTts - 發送語音驗證碼或文本轉語音類型的語音通知入門流程主要參數引入阿里云語音官方SDK-go版本完整代碼通過API使用語音通知/語音驗證碼——阿里云官方文檔 https://help.aliy…

電子電器架構 - AUTOSAR軟件架構介紹

電子電器架構 - AUTOSAR軟件架構介紹 我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 屏蔽力是信息過載時代一個人的特殊競爭力,任何消耗你的人和事,多看一眼都是你的不對。非必要不費力證明自己…

MFC Winsock 類:MFC 中的網絡編程

目錄 概述 一.MFC Winsock 類簡介 1.MFC Winsock 類的主要功能 2.MFC Winsock 類的主要優點 3.MFC Winsock 類的主要缺點 4.MFC Winsock 類的主要類 5.MFC Winsock 類示例 二.CAsyncSocket 類 1.主要功能 異步通信 事件驅動 數據傳輸 套接字選項 2.常用函數 創建…

Maven多環境打包配置

一、啟動時指定環境配置文件 在啟動springboot應用的jar包時,我們可以指定配置文件,通常把配置文件上傳到linux服務器對應jar包的同級目錄,或者統一的配置文件存放目錄 java -jar your-app.jar --spring.config.location/opt/softs/applicat…

matlab 圖像的中值濾波

目錄 一、功能概述1、算法概述2、主要函數3、計算公式二、代碼實現三、結果展示四、參考鏈接本文由CSDN點云俠翻譯,放入付費專欄只為防不要臉的爬蟲。專欄值錢的不是本文,切勿因本文而訂閱。 一、功能概述 1、算法概述 中值濾波是圖像處理中一種常用的非線性運算,用于減少…

間接平差——以水準網平差為例 (python詳細過程版)

目錄 一、原理概述二、案例分析三、代碼實現四、結果展示本文由CSDN點云俠原創,間接平差——以水準網平差為例 (python詳細過程版),爬蟲自重。如果你不是在點云俠的博客中看到該文章,那么此處便是不要臉的爬蟲與GPT生成的文章。 一、原理概述 間接平差的函數模型和隨機模型…

openai api的初次嘗試

不懂已經不去百度了,現在直接問chatgpt就解決絕大多數問題了。 OpenAI API目前還沒有官方支持的npm庫,但是您可以使用現有的第三方npm庫進行OpenAI API的訪問和使用。這里提供一個npm庫 openai-node 的安裝和使用方法: 在命令行或終端中使用…

Util和utils

Util FieldStats 這段代碼定義了一個名為FieldStats的Java類,位于com.cqupt.software_1.Util包中。它使用了lombok庫的Data和AllArgsConstructor注解,這些注解幫助生成了getter、setter、toString等方法,以及包含所有參數的構造函數。類中有…

區塊鏈會議投稿資訊CCF A--USENIX Security 2025 截止9.4、1.22 附錄用率

會議名稱:34th USENIX Security Symposium CCF等級:CCF A類學術會議 類別:網絡與信息安全 錄用率:2023年接收率29%,2024錄用的區塊鏈相關文章請查看 Symposium Topics System security Operating systems security …

vue實現可拖拽移動懸浮球

封裝懸浮球組件&#xff0c;文件名s-icons.vue <template><div ref"icons" class"icons-container" :style"{ left: left px, top: top px }"><slot></slot></div> </template> <script> export …

國產化服務器開啟NTP功能并向NTP時鐘服務器同步

1.備份/etc/chrony.conf文件&#xff1b; cp -rp /etc/chrony.conf /etc/chrony.conf.bak.20240522 2.修改chrony.conf文件&#xff0c;增加NTP時鐘信息。&#xff08;客戶端填寫時鐘同步服務器的IP地址或者域名&#xff0c;我這里寫的IP地址。下面Allow NTP Client是只允許…

Mysql 的 binlog 有幾種格式?

MySQL 的二進制日志&#xff08;binlog&#xff09;有三種格式&#xff0c;每種格式都有其特定的用途和優缺點。以下是詳細描述&#xff1a; 1. STATEMENT 描述: 記錄的是 SQL 語句。特點: 每條更改數據的 SQL 語句都會記錄在 binlog 中。相對較小&#xff0c;因為只記錄了 S…

數字圖像處理岡塞雷斯第四版課后習題答案【英文原版】

第二章 第三章 . 第四章 傅里葉變換是一個線性過程&#xff0c;而計算梯度的平方根和平方根則是非線性運算。傅里葉變換可以用來計算微分的差值(如問題4.50)&#xff0c;但必須在空間域中直接計算平方和平方根值。 (a)實際上&#xff0c;由于高通操作&#xff0c;環有一個暗中心…

在已創建的git工程中添加.gitignore

有些代碼創建git時&#xff0c;為了方便將所有文件都加入了git管理&#xff0c;但實際有些庫的Makefile文件和編譯目錄的文件不需要加入管理&#xff0c;否則每次提交或編譯后&#xff0c;git diff將看到非常多的冗余信息。而我們修改的核心代碼都淹沒在這些大量無用的信息里面…

Golang:gammazero/deque是一個快速環形緩沖區deque(雙端隊列)實現

gammazero/deque是一個快速環形緩沖區deque&#xff08;雙端隊列&#xff09;實現。 文檔 https://github.com/gammazero/deque 安裝 go get github.com/gammazero/deque代碼示例 先入先出隊列 package mainimport ("fmt""github.com/gammazero/deque&quo…

留守兒童|基于SprinBoot+vue的留守兒童愛心網站(源碼+數據庫+文檔)

留守兒童愛心網站 目錄 基于SprinBootvue的留守兒童愛心網站 一、前言 二、系統設計 三、系統功能設計 1系統功能模塊 2管理員功能模塊 3用戶功能模塊 四、數據庫設計 五、核心代碼 六、論文參考 七、最新計算機畢設選題推薦 八、源碼獲取&#xff1a; 博主介紹&…

STM_HAL_TIM_IC_(輸入捕獲,捕獲PWM波)

介紹 TM32微控制器提供了輸入捕獲&#xff08;Input Capture&#xff09;功能&#xff0c;這是一種用于精確測量外部信號脈沖寬度和周期的強大技術。輸入捕獲通常與定時器&#xff08;如TIM&#xff09;的高級控制定時器&#xff08;TIM1和TIM8&#xff09;或通用定時器&#…

MySQL之Schema與數據類型優化和創建高性能的索引(一)

Schema與數據類型優化 只修改.frm文件 從前面的例子中可以看到修改表的.frm文件是很快的&#xff0c;但MySQL有時候會在沒有必要的時候也重建.如果愿意冒一些風險&#xff0c;可以讓MySQL做一些其他類型的修改而不用重建表。下面這些操作是有可能不需要重建表的: 1.移除(不是…