亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Redis > 正文

redis快照模式_動力節點Java學院整理

2020-03-17 12:36:58
字體:
來源:轉載
供稿:網友

我們知道redis是帶有持久化這個能力了,那到底持久化成到哪里,持久化成啥樣呢???這篇我們一起來尋求答案。

一、快照模式

  或許在用Redis之初的時候,就聽說過redis有兩種持久化模式,第一種是SNAPSHOTTING模式,還是一種是AOF模式,而且在實戰場景下用的最多的莫過于SNAPSHOTTING模式,這個不需要反駁吧,而且你可能還知道,使用SNAPSHOTTING模式,需要在redis.conf中設置配置參數,比如下面這樣:

# Save the DB on disk:## save <seconds> <changes>## Will save the DB if both the given number of seconds and the given# number of write operations against the DB occurred.## In the example below the behaviour will be to save:# after 900 sec (15 min) if at least 1 key changed# after 300 sec (5 min) if at least 10 keys changed# after 60 sec if at least 10000 keys changed## Note: you can disable saving completely by commenting out all "save" lines.## It is also possible to remove all the previously configured save# points by adding a save directive with a single empty string argument# like in the following example:## save ""save 900 1save 300 10save 60 10000

上面三組命令也是非常好理解的,就是說900指的是“秒數”,1指的是“change次數”,接下來如果在“900s“內有1次更改,那么就執行save保存,同樣的道理,如果300s內有10次change,60s內有1w次change,那么也會執行save操作,就這么簡單,看了我剛才說了這么幾句話,是不是有種直覺在

告訴你,有兩個問題是不是要澄清一下:

1. 上面這個操作應該是redis自身進行的同步操作,請問是否可以手工執行save呢? 

當然可以進行手工操作,redis提供了兩個操作命令:save,bgsave,這兩個命令都會強制將數據刷新到硬盤中,如下圖:

redis,快照模式

2. 看上面的圖,貌似bgsave是開啟單獨線程的,請問是嗎?

確實如你所說,bgsave是開啟次線程進行數據刷新的,不信的話我們來看看代碼,它的代碼是在rdb.c源文件中,如下:

redis,快照模式

從上面的代碼中,有沒有看到一個重點,那就是fork方法,它就是一些牛人口中說的什么fork出一個線程,今天你也算終于看到了,其實redis并不是單純的單線程服務,至少fork告訴我們,它在一些場景下也是會開啟工作線程的,然后可以看到代碼會在工作線程中執行同步的bgsave操作,就這么簡單。

3. 能簡單說下saveparams參數在redis源碼中的邏輯嗎?

可以的,其實在redis中有一個周期性函數,叫做serverCron,它會周期性啟動,大概會做七件事情,如redis注釋所說:

/* This is our timer interrupt, called server.hz times per second. * Here is where we do a number of things that need to be done asynchronously. * For instance: * * - Active expired keys collection (it is also performed in a lazy way on * lookup). * - Software watchdog. * - Update some statistic. * - Incremental rehashing of the DBs hash tables. * - Triggering BGSAVE / AOF rewrite, and handling of terminated children. * - Clients timeout of different kinds. * - Replication reconnection. * - Many more... * * Everything directly called here will be called server.hz times per second, * so in order to throttle execution of things we want to do less frequently * a macro is used: run_with_period(milliseconds) { .... } */int serverCron(struct aeEventLoop *eventLoop, long long id, void *clientData) {

上面的紅色字體就是做了我們所關心的save操作,看過方法的注釋,接下來我們來找一下具體邏輯。

redis,快照模式

從上面這段代碼邏輯,你應該可以發現以下幾點:

<1>.saveparams參數是在server對象下面,而server對象正好是redisServer類型,如下圖:

redis,快照模式

從上面圖中 *saveparams 的注釋上來看,你應該知道*saveparams是saveparam類型的數組,那現在是不是有強烈的好奇心想看一下saveparam

類型是怎么定義的的呢??? 如下圖:

redis,快照模式

可以看到,saveparam參數里面有兩個參數,seconds就是保存秒數,changes就是改變量,而這二個參數就對應著我們配置文件中的900 0 這樣的配置。

<2> 然后我們通過if發現,如果終滿足,就會最終調用rdbSaveBackground來持久化我們的rdb文件。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Redis頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美黑人一级爽快片淫片高清| 久久人91精品久久久久久不卡| 亚洲肉体裸体xxxx137| 亚洲精品资源美女情侣酒店| 国产精品av免费在线观看| 日韩激情av在线播放| 国产福利成人在线| 日韩免费av在线| 日韩美女在线观看一区| 亚洲深夜福利网站| 久久精品视频播放| 浅井舞香一区二区| 中文字幕精品—区二区| 亚洲第一福利网| 日韩av一区二区在线观看| 中文字幕精品国产| 国产成人一区二区三区| 国产精品亚发布| 中文字幕一区二区精品| 96pao国产成视频永久免费| 成人免费视频网| 国产日本欧美视频| 欧美激情成人在线视频| 日韩免费av一区二区| 亚洲精品福利在线| 亚洲精品视频网上网址在线观看| 97精品欧美一区二区三区| 亚洲精品一区二区三区婷婷月| 狠狠躁夜夜躁久久躁别揉| 亚洲国产精品免费| 青青在线视频一区二区三区| 国产精品成人av性教育| 欧美视频中文字幕在线| 欧美一级大片在线观看| 久久久久久91香蕉国产| 2018中文字幕一区二区三区| 亚洲天堂av图片| 色综合久久中文字幕综合网小说| 欧美最猛性xxxxx免费| 日韩精品免费在线视频观看| 久久国产精品影视| 国色天香2019中文字幕在线观看| 欧美午夜视频在线观看| 亚洲精品美女免费| 欧美巨乳在线观看| 91精品久久久久久久久久久| 国产精品白嫩美女在线观看| 午夜精品一区二区三区在线视频| 在线精品高清中文字幕| 国产精品色婷婷视频| 欧美黑人巨大精品一区二区| 亚洲新声在线观看| 粗暴蹂躏中文一区二区三区| 色播久久人人爽人人爽人人片视av| 欧洲精品毛片网站| 亚洲欧美国产精品专区久久| 亚洲成人激情在线| 97精品一区二区视频在线观看| 国产日韩在线一区| 青青草原成人在线视频| 亚洲电影在线观看| 国产视频自拍一区| 久久资源免费视频| 欧美大片网站在线观看| 国产999视频| 精品久久久久久久久久久久| 欧美影院成年免费版| 日本亚洲精品在线观看| 国产精品美女视频网站| 中文字幕在线亚洲| 91精品久久久久久久久久| 日韩精品视频在线观看网址| 91视频九色网站| 国产精品视频yy9099| 97色在线观看免费视频| 国产日韩欧美日韩| 91亚洲精品视频| 国产成人精品亚洲精品| 久久成人av网站| 精品久久久香蕉免费精品视频| 亚洲成人激情在线| 久久视频国产精品免费视频在线| 亚洲第一福利网| 96pao国产成视频永久免费| 欧美成人免费观看| 国产成人精品午夜| 久久99国产精品久久久久久久久| 欧美激情亚洲视频| 一道本无吗dⅴd在线播放一区| 国产精品专区一| 国产精品免费久久久久影院| 国产一区视频在线| 日韩成人在线免费观看| 国产精品视频最多的网站| 亚洲欧美变态国产另类| 亚洲欧美在线第一页| 成人美女av在线直播| 亚洲精品美女在线| 4k岛国日韩精品**专区| 亚洲欧美国产日韩中文字幕| 国产欧美日韩专区发布| 91美女片黄在线观| 国产一区二区色| xvideos成人免费中文版| 国产精品视频yy9099| 欧美性jizz18性欧美| 日本一区二区三区在线播放| 国产精品成人一区二区| 国产综合香蕉五月婷在线| 亚洲天堂成人在线视频| 国产精品久久9| 在线播放亚洲激情| 欧美大片免费观看| 日韩av在线免费看| 日韩有码在线观看| 九九热99久久久国产盗摄| 精品久久久久久久久久| 国产精品久久久久久久久| 亚洲第一精品电影| 欧美激情伊人电影| 日韩在线观看视频免费| 亚洲精品欧美日韩专区| 国产精品丝袜久久久久久高清| 亚洲精品成人av| 欧美三级xxx| 日韩av资源在线播放| 亚洲欧美日韩视频一区| 欧美一级视频在线观看| 精品久久久久久| 亚洲欧美国产精品久久久久久久| 91精品久久久久久久久久久久久久| 欧美日韩国产中文字幕| 久久综合色88| 欧美日韩一区二区三区在线免费观看| 97国产精品人人爽人人做| 欧美精品成人在线| 18一19gay欧美视频网站| 久久久久久久久综合| 亚洲免费电影一区| 午夜精品蜜臀一区二区三区免费| 亚洲欧美综合另类中字| 一区国产精品视频| 2019中文在线观看| 日韩成人av网址| 欧美性猛交xxxx乱大交极品| 国产日韩亚洲欧美| 久久九九国产精品怡红院| 成人欧美一区二区三区黑人孕妇| 国产日韩欧美91| 精品视频—区二区三区免费| 精品久久香蕉国产线看观看亚洲| 欧美日韩中文字幕综合视频| 日韩精品在线免费播放| 日韩欧美亚洲国产一区| 欧洲一区二区视频| 日韩高清a**址| 欧美亚洲另类制服自拍| 国产成人av网址| 欧美在线www| 成人网在线免费看| 日韩欧美中文字幕在线观看| 亚洲第一区中文99精品| 亚洲精品一区中文字幕乱码| 中文字幕亚洲无线码在线一区|