亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

redis持久化

系統 3154 0

Redis是一種高級key-value數據庫。它跟memcached類似,不過數據可以持久化,而且支持的數據類型很豐富。有字符串,鏈表,集 合和有序集合。支持在服務器端計算集合的并,交和補集(difference)等,還支持多種排序功能。所以Redis也可以被看成是一個數據結構服務器。
Redis的所有數據都是保存在內存中,然后不定期的通過異步方式保存到磁盤上(這稱為“半持久化模式”);也可以把每一次數據變化都寫入到一個append only file(aof)里面(這稱為“全持久化模式”)。

第一種方法 filesnapshotting :默認redis是會以快照的形式將數據持久化到磁盤的(一個二進制文件,dump.rdb,這個文件名字可以指定),在配置文件中的格式是:save N M表示在N秒之內,redis至少發生M次修改則redis抓快照到磁盤。當然我們也可以手動執行save或者bgsave(異步)做快照。

工作原理簡單介紹一下:當redis需要做持久化時,redis會fork一個子進程;子進程將數據寫到磁盤上一個臨時RDB文件中;當子進程完成寫臨時文件后,將原來的RDB替換掉,這樣的好處就是可以 copy-on-write

還有一種持久化方法是 Append-only :filesnapshotting方法在redis異常死掉時,最近的數據會丟失(丟失數據的多少視你save策略的配置),所以這是它最大的缺點,當業務量很大時,丟失的數據是很多的。Append-only方法可以做到全部數據不丟失,但redis的性能就要差些。AOF就可以做到全程持久化,只需要在配置文件中開啟(默認是no),appendonly yes開啟AOF之后,redis每執行一個修改數據的命令,都會把它添加到aof文件中,當redis重啟時,將會讀取AOF文件進行“重放”以恢復到redis關閉前的最后時刻。

LOG Rewriting隨著修改數據的執行AOF文件會越來越大,其中很多內容記錄某一個key的變化情況。因此redis有了一種比較有意思的特性:在后臺重建AOF文件,而不會影響client端操作。在任何時候執行 BGREWRITEAOF 命令,都會把當前內存中最短序列的命令寫到磁盤,這些命令可以完全構建當前的數據情況,而不會存在多余的變化情況(比如狀態變化,計數器變化等),縮小的AOF文件的大小。 所以當使用AOF時,redis推薦同時使用BGREWRITEAOF

AOF文件刷新的方式,有三種,參考配置參數 appendfsync ?: appendfsync always 每提交一個修改命令都調用fsync刷新到AOF文件,非常非常慢,但也非常安全; appendfsync everysec 每秒鐘都調用fsync刷新到AOF文件,很快,但可能會丟失一秒以內的數據; appendfsync no 依靠OS進行刷新,redis不主動刷新AOF,這樣最快,但安全性就差。默認并推薦每秒刷新,這樣在速度和安全上都做到了兼顧。

可能由于系統原因導致了AOF損壞,redis無法再加載這個AOF,可以按照下面步驟來修復:首先做一個AOF文件的備份,復制到其他地方;修復原始AOF文件,執行: $ redis-check-aof –fix ;可以通過diff –u命令來查看修復前后文件不一致的地方;重啟redis服務。

LOG Rewrite的工作原理:同樣用到了copy-on-write:首先redis會fork一個子進程;子進程將最新的AOF寫入一個臨時文件;父進程增量的把內存中的最新執行的修改寫入(這時仍寫入舊的AOF,rewrite如果失敗也是安全的);當子進程完成rewrite臨時文件后,父進程會收到一個信號,并把之前內存中增量的修改寫入臨時文件末尾;這時redis將舊AOF文件重命名,臨時文件重命名,開始向新的AOF中寫入。

最后,為以防萬一(機器壞掉或磁盤壞掉),記得定期把使用 filesnapshotting 或 Append-only 生成的*rdb *.aof文件備份到遠程機器上。我是用crontab每半小時SCP一次。我沒有使用redis的主從功能 ,因為半小時備份一次應該是可以了,而且我覺得有如果做主從有點浪費機器。這個最終還是看應用來定了。

redis持久化


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久中精品中文 | 成人欧美一区二区三区黑人 | 精品国产品国语在线不卡丶 | 手机看片国产免费久久网 | 亚洲香蕉毛片久久网站老妇人 | 精品三级国产一区二区三区四区 | 国产香蕉久久 | 色综合啪啪| se成人国产精品 | 免费一级毛片在线播放泰国 | 亚洲精品美女在线观看 | jizz丝袜 | 亚洲第二页 | 欧美一级毛片高清免费观看 | 麻豆狠色伊人亚洲综合网站 | 国产一级毛片国语普通话对白 | 亚洲欧美色鬼久久综合 | 精品一区二区三区18 | 99久女女精品视频在线观看 | 欧美不卡在线观看 | 日韩爱爱网站 | 久久水蜜桃 | 久久国产精品99久久久久久老狼 | 亚洲久久视频 | 国产亚洲欧洲国产综合一区 | 色鬼久久爱综合久久鬼色 | 91久久综合九色综合欧美亚洲 | 奇米影视第四色在线观看 | 亚洲国产精久久久久久久 | 国产精品91视频 | 精品一久久香蕉国产线看播放 | 精品牛牛影视久久精品 | 国产视频欧美 | 成年人的毛片 | 欧美成人天天综合在线视色 | 一级毛片中文字幕 | 天堂日韩 | 毛片网站免费在线观看 | 热久久久久久 | 91日韩| 久9视频这里只有精品8 |