国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Redis - Redis教程(十):持久化詳解

Redis教程(十):持久化詳解

2019-10-24 17:59Redis教程網 Redis

這篇文章主要介紹了Redis教程(十):持久化詳解,本文講解了Redis提供了哪些持久化機制、RDB機制的優勢和劣勢、AOF機制的優勢和劣勢、其它等內容,需要的朋友可以參考下

一、Redis提供了哪些持久化機制

    1). RDB持久化:
    該機制是指在指定的時間間隔內將內存中的數據集快照寫入磁盤。    
    2). AOF持久化:
    該機制將以日志的形式記錄服務器所處理的每一個寫操作,在Redis服務器啟動之初會讀取該文件來重新構建數據庫,以保證啟動后數據庫中的數據是完整的。
    3). 無持久化:
    我們可以通過配置的方式禁用Redis服務器的持久化功能,這樣我們就可以將Redis視為一個功能加強版的memcached了。
    4). 同時應用AOF和RDB。
    
二、RDB機制的優勢和劣勢:

   RDB存在哪些優勢呢?

    1). 一旦采用該方式,那么你的整個Redis數據庫將只包含一個文件,這對于文件備份而言是非常完美的。比如,你可能打算每個小時歸檔一次最近24小時的數據,同時還要每天歸檔一次最近30天的數據。通過這樣的備份策略,一旦系統出現災難性故障,我們可以非常容易的進行恢復。
    2). 對于災難恢復而言,RDB是非常不錯的選擇。因為我們可以非常輕松的將一個單獨的文件壓縮后再轉移到其它存儲介質上。
    3). 性能最大化。對于Redis的服務進程而言,在開始持久化時,它唯一需要做的只是fork出子進程,之后再由子進程完成這些持久化的工作,這樣就可以極大的避免服務進程執行IO操作了。
    4). 相比于AOF機制,如果數據集很大,RDB的啟動效率會更高。
    
   RDB又存在哪些劣勢呢?

    1). 如果你想保證數據的高可用性,即最大限度的避免數據丟失,那么RDB將不是一個很好的選擇。因為系統一旦在定時持久化之前出現宕機現象,此前沒有來得及寫入磁盤的數據都將丟失。
    2). 由于RDB是通過fork子進程來協助完成數據持久化工作的,因此,如果當數據集較大時,可能會導致整個服務器停止服務幾百毫秒,甚至是1秒鐘。
    
三、AOF機制的優勢和劣勢:

   AOF的優勢有哪些呢?

    1). 該機制可以帶來更高的數據安全性,即數據持久性。Redis中提供了3中同步策略,即每秒同步、每修改同步和不同步。事實上,每秒同步也是異步完成的,其效率也是非常高的,所差的是一旦系統出現宕機現象,那么這一秒鐘之內修改的數據將會丟失。而每修改同步,我們可以將其視為同步持久化,即每次發生的數據變化都會被立即記錄到磁盤中。可以預見,這種方式在效率上是最低的。至于無同步,無需多言,我想大家都能正確的理解它。
    2). 由于該機制對日志文件的寫入操作采用的是append模式,因此在寫入過程中即使出現宕機現象,也不會破壞日志文件中已經存在的內容。然而如果我們本次操作只是寫入了一半數據就出現了系統崩潰問題,不用擔心,在Redis下一次啟動之前,我們可以通過redis-check-aof工具來幫助我們解決數據一致性的問題。
    3). 如果日志過大,Redis可以自動啟用rewrite機制。即Redis以append模式不斷的將修改數據寫入到老的磁盤文件中,同時Redis還會創建一個新的文件用于記錄此期間有哪些修改命令被執行。因此在進行rewrite切換時可以更好的保證數據安全性。
    4). AOF包含一個格式清晰、易于理解的日志文件用于記錄所有的修改操作。事實上,我們也可以通過該文件完成數據的重建。
    
    AOF的劣勢有哪些呢?
    1). 對于相同數量的數據集而言,AOF文件通常要大于RDB文件。
    2). 根據同步策略的不同,AOF在運行效率上往往會慢于RDB。總之,每秒同步策略的效率是比較高的,同步禁用策略的效率和RDB一樣高效。
    
四、其它:

   1. Snapshotting:

    缺省情況下,Redis會將數據集的快照dump到dump.rdb文件中。此外,我們也可以通過配置文件來修改Redis服務器dump快照的頻率,在打開6379.conf文件之后,我們搜索save,可以看到下面的配置信息:
    save 900 1              #在900秒(15分鐘)之后,如果至少有1個key發生變化,則dump內存快照。
    save 300 10            #在300秒(5分鐘)之后,如果至少有10個key發生變化,則dump內存快照。
    save 60 10000        #在60秒(1分鐘)之后,如果至少有10000個key發生變化,則dump內存快照。
    
   2. Dump快照的機制:

    1). Redis先fork子進程。
    2). 子進程將快照數據寫入到臨時RDB文件中。
    3). 當子進程完成數據寫入操作后,再用臨時文件替換老的文件。
    
   3. AOF文件:

    上面已經多次講過,RDB的快照定時dump機制無法保證很好的數據持久性。如果我們的應用確實非常關注此點,我們可以考慮使用Redis中的AOF機制。對于Redis服務器而言,其缺省的機制是RDB,如果需要使用AOF,則需要修改配置文件中的以下條目:
    將appendonly no改為appendonly yes
    從現在起,Redis在每一次接收到數據修改的命令之后,都會將其追加到AOF文件中。在Redis下一次重新啟動時,需要加載AOF文件中的信息來構建最新的數據到內存中。
    
   4. AOF的配置:

    在Redis的配置文件中存在三種同步方式,它們分別是:
    appendfsync always     #每次有數據修改發生時都會寫入AOF文件。
    appendfsync everysec  #每秒鐘同步一次,該策略為AOF的缺省策略。
    appendfsync no          #從不同步。高效但是數據不會被持久化。
    
   5. 如何修復壞損的AOF文件:

    1). 將現有已經壞損的AOF文件額外拷貝出來一份。
    2). 執行"redis-check-aof --fix <filename>"命令來修復壞損的AOF文件。
    3). 用修復后的AOF文件重新啟動Redis服務器。
    
   6. Redis的數據備份:

    在Redis中我們可以通過copy的方式在線備份正在運行的Redis數據文件。這是因為RDB文件一旦被生成之后就不會再被修改。Redis每次都是將最新的數據dump到一個臨時文件中,之后在利用rename函數原子性的將臨時文件改名為原有的數據文件名。因此我們可以說,在任意時刻copy數據文件都是安全的和一致的。鑒于此,我們就可以通過創建cron job的方式定時備份Redis的數據文件,并將備份文件copy到安全的磁盤介質中。

延伸 · 閱讀

精彩推薦
  • RedisRedis如何實現數據庫讀寫分離詳解

    Redis如何實現數據庫讀寫分離詳解

    Redis的主從架構,能幫助我們實現讀多,寫少的情況,下面這篇文章主要給大家介紹了關于Redis如何實現數據庫讀寫分離的相關資料,文中通過示例代碼介紹...

    羅兵漂流記6092019-11-11
  • RedisRedis 事務知識點相關總結

    Redis 事務知識點相關總結

    這篇文章主要介紹了Redis 事務相關總結,幫助大家更好的理解和學習使用Redis,感興趣的朋友可以了解下...

    AsiaYe8232021-07-28
  • Redisredis實現排行榜功能

    redis實現排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用來實現排行榜功能,本文就來簡單的介紹一下如何使用,具有一定的參考價值,感興趣的小伙伴們...

    乘月歸5022021-08-05
  • Redisredis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    redis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    這篇文章主要給大家介紹了關于redis中如何使用lua腳本讓你的靈活性提高5個逼格的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具...

    一線碼農5812019-11-18
  • Redis詳解Redis復制原理

    詳解Redis復制原理

    與大多數db一樣,Redis也提供了復制機制,以滿足故障恢復和負載均衡等需求。復制也是Redis高可用的基礎,哨兵和集群都是建立在復制基礎上實現高可用的...

    李留廣10222021-08-09
  • Redisredis 交集、并集、差集的具體使用

    redis 交集、并集、差集的具體使用

    這篇文章主要介紹了redis 交集、并集、差集的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    xiaojin21cen10152021-07-27
  • RedisRedis全量復制與部分復制示例詳解

    Redis全量復制與部分復制示例詳解

    這篇文章主要給大家介紹了關于Redis全量復制與部分復制的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Redis爬蟲具有一定的參考學習...

    豆子先生5052019-11-27
  • RedisRedis的配置、啟動、操作和關閉方法

    Redis的配置、啟動、操作和關閉方法

    今天小編就為大家分享一篇Redis的配置、啟動、操作和關閉方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    大道化簡5312019-11-14
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 91性高湖久久久久久久久网站 | 大片免费播放在线观看视频 | 成人高清网站 | 午夜看片 | 求av网址 | 欧美国产在线观看 | 国产成人av在线 | 亚洲精彩视频在线 | 国产精品久久久久久久久 | 欧美一级特黄在线观看 | 综合色在线 | 二区三区在线 | 国产亚洲精品久久久闺蜜 | 免费一区二区 | 久久一区二| 亚洲精品91| 亚洲视频一区在线 | 亚洲精品日韩综合观看成人91 | 国产精品欧美日韩 | 欧美色涩 | 二区三区在线 | 欧美三级在线播放 | 久操免费视频 | 午夜激情视频网站 | 国产精品久久久久久 | 视频一区二区三区在线观看 | 国产精品视频免费看 | 日韩a电影 | 久久99视频这里只有精品 | 国产香蕉视频在线播放 | 不卡二区| 欧美成人观看 | 欧美激情综合网 | 香蕉尹人网 | 精品香蕉一区二区三区 | 国产精品久久久久久福利一牛影视 | 伊人五月 | 婷婷成人在线 | 亚洲欧美日韩一区二区 | 久久国产精品视频 | 色999国产|