成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > 從源碼解讀redis持久化

從源碼解讀redis持久化

熱門標(biāo)簽:一個(gè)地圖標(biāo)注多少錢 廊坊外呼系統(tǒng)在哪買 四川穩(wěn)定外呼系統(tǒng)軟件 地圖標(biāo)注工廠入駐 400電話辦理的口碑 b2b外呼系統(tǒng) 高碑店市地圖標(biāo)注app 南京手機(jī)外呼系統(tǒng)廠家 臺(tái)灣電銷

為什么需要持久化?

由于Redis是一種內(nèi)存型數(shù)據(jù)庫,即服務(wù)器在運(yùn)行時(shí),系統(tǒng)為其分配了一部分內(nèi)存存儲(chǔ)數(shù)據(jù),一旦服務(wù)器掛了,或者突然宕機(jī)了,那么數(shù)據(jù)庫里面的數(shù)據(jù)將會(huì)丟失,為了使服務(wù)器即使突然關(guān)機(jī)也能保存數(shù)據(jù),必須通過持久化的方式將數(shù)據(jù)從內(nèi)存保存到磁盤中。

對(duì)于進(jìn)行持久化的程序來說,數(shù)據(jù)從程序?qū)懙接?jì)算機(jī)的磁盤的流程如下:

1、客戶端發(fā)送一個(gè)寫指令給數(shù)據(jù)庫(此時(shí)數(shù)據(jù)在客戶端的內(nèi)存)

2、數(shù)據(jù)庫接收到寫的指令以及數(shù)據(jù)(數(shù)據(jù)此時(shí)在服務(wù)端的內(nèi)存)

3、數(shù)據(jù)庫發(fā)起一個(gè)系統(tǒng)調(diào)用,把數(shù)據(jù)寫到磁盤(此時(shí)數(shù)據(jù)在內(nèi)核的內(nèi)存)

4、操作系統(tǒng)把數(shù)據(jù)傳輸?shù)酱疟P控制器(數(shù)據(jù)此時(shí)在磁盤緩存中)

5、磁盤控制器執(zhí)行真正寫入數(shù)據(jù)到物理媒介的操作(如磁盤)

如果只是考慮數(shù)據(jù)庫層面,數(shù)據(jù)在第三階段之后就安全了,在這個(gè)時(shí)候,系統(tǒng)調(diào)用已經(jīng)發(fā)起了,即使數(shù)據(jù)庫進(jìn)程奔潰了,系統(tǒng)調(diào)用會(huì)繼續(xù)進(jìn)行,也能順利將數(shù)據(jù)寫入到磁盤中。 在這一步之后,在第4步內(nèi)核會(huì)將數(shù)據(jù)從內(nèi)核緩存保存到磁盤緩存中,但為了系統(tǒng)的效率問題,默認(rèn)情況下不會(huì)太頻繁地執(zhí)行這個(gè)動(dòng)作,大概會(huì)在30s執(zhí)行一次,這就意味著如果這一步失敗了或者就在進(jìn)行這一步的時(shí)候服務(wù)器突然關(guān)機(jī)了,那么就可能會(huì)有30s的數(shù)據(jù)丟失了,這種比較普通的災(zāi)難性問題也是需要考慮的。

POSIX API也提供了一個(gè)系統(tǒng)調(diào)用讓內(nèi)核強(qiáng)制將緩存數(shù)據(jù)寫入到磁盤中,比較常見的就是fsync系統(tǒng)調(diào)用。

int fsync(int fd);

fsync函數(shù)只對(duì)由文件描述符fd指定的一個(gè)文件起作用,并且等待寫磁盤操作結(jié)束后才返回。每次調(diào)用fsync時(shí),會(huì)初始化一個(gè)寫操作,然后把緩沖區(qū)的數(shù)據(jù)寫入到磁盤中。fsync()函數(shù)在完成寫操作的時(shí)候會(huì)阻塞進(jìn)程,如果其他線程也在寫同一個(gè)文件,它也會(huì)阻塞其他線程,直到完成寫操作。

持久化

持久化是將程序數(shù)據(jù)在持久狀態(tài)和瞬時(shí)狀態(tài)間轉(zhuǎn)換的機(jī)制。對(duì)于程序來說,程序運(yùn)行中數(shù)據(jù)是在內(nèi)存的,如果沒有及時(shí)同步寫入到磁盤,那么一旦斷電或者程序突然奔潰,數(shù)據(jù)就會(huì)丟失了,只有把數(shù)據(jù)及時(shí)同步到磁盤,數(shù)據(jù)才能永久保存,不會(huì)因?yàn)殄礄C(jī)影像數(shù)據(jù)的有效性。而持久化就是將數(shù)據(jù)從程序同步到磁盤的一個(gè)動(dòng)作過程。

Redis的持久化

redis有RDB和AOF兩種持久化方式。RDB是快照文件的方式,redis通過執(zhí)行SAVE/BGSAVE命令,執(zhí)行數(shù)據(jù)的備份,將redis當(dāng)前的數(shù)據(jù)保存到*.rdb文件中,文件保存了所有的數(shù)據(jù)集合。AOF是服務(wù)器通過讀取配置,在指定的時(shí)間里,追加redis寫操作的命令到*.aof文件中,是一種增量的持久化方式。

RDB

RDB文件通過SAVE或BGSAVE命令實(shí)現(xiàn)。 SAVE命令會(huì)阻塞Redis服務(wù)進(jìn)程,直到RDB文件創(chuàng)建完成為止。 BGSAVE命令通過fork子進(jìn)程,有子進(jìn)程來進(jìn)行創(chuàng)建RDB文件,父進(jìn)程和子進(jìn)程共享數(shù)據(jù)段,父進(jìn)程繼續(xù)提供讀寫服務(wù),子進(jìn)程實(shí)現(xiàn)備份功能。BGSAVE階段只有在需要修改共享數(shù)據(jù)段的時(shí)候才進(jìn)行拷貝,也就是COW(Copy On Write)。SAVE創(chuàng)建RDB文件可以通過設(shè)置多個(gè)保存條件,只要其中一個(gè)條件滿足,就可以在后臺(tái)執(zhí)行SAVE操作。

SAVE和BGSAVE命令的實(shí)現(xiàn)代碼如下:

void saveCommand(client *c) {

// BGSAVE執(zhí)行時(shí)不能執(zhí)行SAVE

if (server.rdb_child_pid != -1) {

addReplyError(c,"Background save already in progress");

return;

}

rdbSaveInfo rsi, *rsiptr;

rsiptr = rdbPopulateSaveInfo(rsi);

// 調(diào)用rdbSave函數(shù)執(zhí)行備份(阻塞當(dāng)前客戶端)

if (rdbSave(server.rdb_filename,rsiptr) == C_OK) {

addReply(c,shared.ok);

} else {

addReply(c,shared.err);

}

}

/*

* BGSAVE 命令實(shí)現(xiàn) [可選參數(shù)"schedule"]

*/

void bgsaveCommand(client *c) {

int schedule = 0;

/* 當(dāng)AOF正在執(zhí)行時(shí),SCHEDULE參數(shù)修改BGSAVE的效果

* BGSAVE會(huì)在之后執(zhí)行,而不是報(bào)錯(cuò)

* 可以理解為:BGSAVE被提上日程

*/

if (c->argc > 1) {

// 參數(shù)只能是"schedule"

if (c->argc == 2  !strcasecmp(c->argv[1]->ptr,"schedule")) {

schedule = 1;

} else {

addReply(c,shared.syntaxerr);

return;

}

}

// BGSAVE正在執(zhí)行,不操作

if (server.rdb_child_pid != -1) {

addReplyError(c,"Background save already in progress");

} else if (server.aof_child_pid != -1) {

// aof正在執(zhí)行,如果schedule==1,BGSAVE被提上日程

if (schedule) {

server.rdb_bgsave_scheduled = 1;

addReplyStatus(c,"Background saving scheduled");

} else {

addReplyError(c,

"An AOF log rewriting in progress: can't BGSAVE right now. "

"Use BGSAVE SCHEDULE in order to schedule a BGSAVE whenever "

"possible.");

}

} else if (rdbSaveBackground(server.rdb_filename,NULL) == C_OK) {// 否則調(diào)用rdbSaveBackground執(zhí)行備份操作

addReplyStatus(c,"Background saving started");

} else {

addReply(c,shared.err);

}

}

有了RDB文件之后,如果服務(wù)器關(guān)機(jī)了,或者需要新增一個(gè)服務(wù)器,重新啟動(dòng)數(shù)據(jù)庫服務(wù)器之后,就可以通過載入RDB文件恢復(fù)之前備份的數(shù)據(jù)。 但是bgsave會(huì)耗費(fèi)較長時(shí)間,不夠?qū)崟r(shí),會(huì)導(dǎo)致在停機(jī)的時(shí)候丟失大量數(shù)據(jù)。

AOF(Append Only File)

RDB文件保存的是數(shù)據(jù)庫的鍵值對(duì)數(shù)據(jù),AOF保存的是數(shù)據(jù)庫執(zhí)行的寫命令。

AOF的實(shí)現(xiàn)流程有三步:

append->write->fsync

append追加命令到AOF緩沖區(qū),write將緩沖區(qū)的內(nèi)容寫入到程序緩沖區(qū),fsync將程序緩沖區(qū)的內(nèi)容寫入到文件。 當(dāng)AOF持久化功能處于開啟狀態(tài)時(shí),服務(wù)器每執(zhí)行完一個(gè)命令,就會(huì)將命令以協(xié)議格式追加寫入到redisServer結(jié)構(gòu)體的aof_buf緩沖區(qū),具體的協(xié)議這里不展開闡述。

AOF的持久化發(fā)生時(shí)期有個(gè)配置選項(xiàng):appendfsync。該選項(xiàng)有三個(gè)值: always:所有內(nèi)容寫入并同步到aof文件 everysec:將aof_buf緩沖區(qū)的內(nèi)容寫入到AOF文件,如果距離上次同步AOF文件的 no:將aof_buf緩沖區(qū)中的所有內(nèi)容寫入到AOF文件,但并不對(duì)AOF文件進(jìn)行同步,由操作系統(tǒng)決定何時(shí)進(jìn)行同步,一般是默認(rèn)情況下的30s。

AOF持久化模式每個(gè)寫命令都會(huì)追加到AOF文件,隨著服務(wù)器不斷運(yùn)行,AOF文件會(huì)越來越大,為了避免AOF產(chǎn)生的文件太大,服務(wù)器會(huì)對(duì)AOF文件進(jìn)行重寫,將操作相同key的相同命令合并,從而減少文件的大小。

舉個(gè)例子,要保存一個(gè)員工的名字、性別等信息:

> hset employee_12345 name "hoohack"

> hset employee_12345 good_at "php"

> hset employee_12345 gender "male"

只是錄入這個(gè)哈希鍵的狀態(tài),AOF文件就需要保存三條命令,如果還有其他,比如刪除,或者更新值的操作,那命令將會(huì)更多,文件會(huì)更大,有了重寫后,就可以適當(dāng)?shù)販p少文件的大小。

AOF重寫的實(shí)現(xiàn)原理是先服務(wù)器中的數(shù)據(jù)庫,然后遍歷數(shù)據(jù)庫,找出每個(gè)數(shù)據(jù)庫中的所有鍵對(duì)象,獲取鍵值對(duì)的鍵和值,根據(jù)鍵的類型對(duì)鍵值對(duì)進(jìn)行重寫。比如上面的例子,可以合并為下面的一條命令:

> hset employee_12345 name "hoohack" good_at "php" gender "male"。

AOF的重寫會(huì)執(zhí)行大量的寫入操作,Redis是單線程的,所以如果有服務(wù)器直接調(diào)用重寫,服務(wù)器就不能處理其他命令了,因此Redis服務(wù)器新起了單獨(dú)一個(gè)進(jìn)程來執(zhí)行AOF重寫。

Redis執(zhí)行重寫的流程:

在子進(jìn)程執(zhí)行AOF重寫時(shí),服務(wù)端接收到客戶端的命令之后,先執(zhí)行客戶端發(fā)來的命令,然后將執(zhí)行后的寫命令追加到AOF緩沖區(qū)中,同時(shí)將執(zhí)行后的寫命令追加到AOF重寫緩沖區(qū)中。 等到子進(jìn)程完成了重寫工作后,會(huì)發(fā)一個(gè)完成的信號(hào)給服務(wù)器,服務(wù)器就將AOF重寫緩沖區(qū)中的所有內(nèi)容追加到AOF文件中,然后原子性地覆蓋現(xiàn)有的AOF文件。

RDB和AOF的優(yōu)缺點(diǎn)

RDB持久化方式可以只通過服務(wù)器讀取數(shù)據(jù)就能加載備份中的文件到程序中,而AOF方式必須創(chuàng)建一個(gè)偽客戶端才能執(zhí)行。

RDB的文件較小,保存了某個(gè)時(shí)間點(diǎn)之前的數(shù)據(jù),適合做災(zāi)備和主從同步。

RDB備份耗時(shí)較長,如果數(shù)據(jù)量大,在遇到宕機(jī)的情況下,可能會(huì)丟失部分?jǐn)?shù)據(jù)。另外,RDB是通過配置使達(dá)到某種條件的時(shí)候才執(zhí)行,如果在這段時(shí)間內(nèi)宕機(jī),那么這部分?jǐn)?shù)據(jù)也會(huì)丟失。

AOF方式,在相同數(shù)據(jù)集的情況下,文件大小會(huì)比RDB方式的大。

AOF的持久化方式也是通過配置的不同,默認(rèn)配置的是每秒同步,最快的模式是同步每一個(gè)命令,最壞的方式是等待系統(tǒng)執(zhí)行fsync將緩沖同步到磁盤文件中,大部分操作系統(tǒng)是30s。通常情況下會(huì)配置為每秒同步一次,所以最多會(huì)有1s的數(shù)據(jù)丟失。

怎樣的同步方式更好?

RDB和AOF方式結(jié)合。起一個(gè)定時(shí)任務(wù),每小時(shí)備份一份服務(wù)器當(dāng)前狀態(tài)的數(shù)據(jù),以日期和小時(shí)命名,另外起一個(gè)定時(shí)任務(wù),定時(shí)刪除無效的備份文件(比如48小時(shí)之前)。AOF配置為1s一次。這樣一來,最多會(huì)丟失1s的數(shù)據(jù),同時(shí)如果redis發(fā)生雪崩,也能迅速恢復(fù)為前一天的狀態(tài),不至于停止服務(wù)。

總結(jié)

Redis的持久化方案也不是一成不變的,紙上的理論還需要結(jié)合實(shí)踐成果來證明其可行性。

您可能感興趣的文章:
  • redis學(xué)習(xí)之RDB、AOF與復(fù)制時(shí)對(duì)過期鍵的處理教程
  • Redis兩種持久化方案RDB和AOF詳解
  • redis的2種持久化方案深入講解
  • Linux下redis的持久化、主從同步與哨兵詳解
  • redis持久化的介紹
  • 通過Nginx+Tomcat+Redis實(shí)現(xiàn)持久會(huì)話
  • Redis持久化RDB和AOF區(qū)別詳解

標(biāo)簽:伊春 南寧 定州 河源 畢節(jié) 甘南 拉薩 泰州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《從源碼解讀redis持久化》,本文關(guān)鍵詞  從,源碼,解讀,redis,持久化,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《從源碼解讀redis持久化》相關(guān)的同類信息!
  • 本頁收集關(guān)于從源碼解讀redis持久化的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美香蕉爽爽人人爽| 婷婷综合影院| 日本欧美精品久久久| 成年人免费在线视频| 一本久道高清无码视频| 青青草视频在线视频| 在线看的网站你懂| 999国产精品999久久久久久| 中文字幕一区二区三区不卡在线| 国产成人免费观看| 亚洲成人自拍| 中文在线字幕观看| 黄色录像免费观看| 国产欧美亚洲精品| 亚洲精品911| 亚洲乱码中文字幕| 超碰在线播放91| 999久久精品| 九九久久精品这里久久网| 欧美一区二区三区四区在线观看| 国产精品入口麻豆原神| 久久香蕉综合色一综合色88| 国产精品手机视频| 男女日批视频在线观看| 久久亚洲精品国产| 日韩在线视频免费播放| 中文字幕国产一区二区| 日韩精品一区二区免费| www.91popny.com| 国产精品视频一区二区三区,| 国产精品一区二区亚洲| 狠狠色狠狠色综合日日91app| 麻豆91精品91久久久| 国产一区二区三区四区五区| 精品中文字幕在线2019| 欧美男男tv网站在线播放| 久久久久久一区二区三区四区别墅| 黄色片在线看| 亚洲精品国产精品国自产观看浪潮| 免费看av的网址| 日韩一卡二卡三卡国产欧美| 7777精品伊人久久久大香线蕉完整版| 日韩成人一区二区| 韩国免费在线视频| 日韩xxx高潮hd| 亚洲石原莉奈一区二区在线观看| 午夜一区二区三区视频| 亚洲午夜精品久久久久久性色| wwww亚洲| 日韩毛片在线观看| 精品性高朝久久久久久久| 久久国内精品一国内精品| 宅男深夜视频| 浮生影视网在线观看免费| 6080午夜伦理| 黄色在线网站噜噜噜| 国产无遮无挡120秒| 一区二区高清免费观看影视大全| 国产精品麻豆网站| 精品国产视频在线观看| 一区二区三区视频在线免费观看| 不卡的av电影在线观看| jizz蜜桃视频在线观看| 91人成网站www| 久久动漫网址| 北条麻妃一区二区三区中文字幕| 二区三区不卡不卡视频| 国产精品欧美一级免费| 国语自产精品视频在线看8查询8| 成人久久久精品乱码一区二区三区| 男人的天堂av高清在线| 国产色一区二区三区| 久久久久久亚洲综合| 亚洲欧洲一区二区三区| 日韩精品中午字幕| 亚洲欧美激情四射在线日| 91麻豆产精品久久久久久夏晴子| 久久99999| 中文字幕天堂网| 欧美v在线观看| 国产又粗又大又长| 毛茸茸多毛bbb毛多视频| 国产偷国产偷亚洲高清人白洁| 好男人www社区| 黄网在线免费看| 欧亚精品一区| 粉嫩一区二区三区| 超碰成人av| 天堂在线www天堂中文在线| 欧美影院久久久| 久久精品青青大伊人av| 国产精品国产自产拍高清av| 国产人与禽zoz0性伦| 天天操天天插天天射| 欧美成人h版在线观看| www.性欧美| 免费av小说| 国产性猛交xx乱| 在线视频影院| 亚洲精品永久免费视频| f2c人成在线观看免费视频| 99精品国产99久久久久久白柏| 加勒比婷婷色综合久久| 99在线精品观看| 在线免费观看日韩av| 国产日韩在线精品av| 国产v综合ⅴ日韩v欧美大片| 久久久久久久久久久久久夜| 久久久久国产精品熟女影院| 色婷婷av一区二区三区久久| 伊人久久综合影院| 91精品国产91久久综合桃花| 久久久久久久久伊人| 亚洲人人精品| 午夜精品一区二区三区在线观看| 亚洲va国产天堂va久久en| xxxxxx国产| 久久久av一区| 日韩美女激情视频| 欧美特黄级在线| 日本一线产区和二线产区| 欧洲s码亚洲m码精品一区| 亚欧在线免费观看| 国产精品一区二区三区av麻| 欧美色图一区二区三区| 三级影片在线观看欧美日韩一区二区| 久久婷婷丁香| 粉嫩小泬无遮挡久久久久久| 国产精品99久| 亚洲人妻一区二区| 高清福利在线观看| 91麻豆国产自产在线观看| 日韩免费高清一区二区| 91视频免费看片| wwwxxxx在线观看| 9191精品国产综合久久久久久| 韩日欧美一区二区| 日韩免费高清视频| 国产精品视频网站在线观看| 美女撒尿一区二区三区| 草草久久久无码国产专区| 青青草原国产在线观看| 国产在线精品一区二区三区》| 日韩美女在线观看一区| 中文字幕在线观看国产| 成人毛片视频在线观看| 亚洲视频视频在线| 亚洲主播在线播放| 亚洲色图欧美自拍| 热99这里只有精品| 蜜桃视频最新网址| 亚洲私拍视频| 亚洲国产成人精品一区二区| 亚洲一区国产一区| 久久综合色视频| 成人性生交大片免费观看网站| 亚洲欧美二区三区| 伊人精品成人久久综合软件| 四虎在线免费视频| 2020国内自拍视频| 日韩精品第一区| 91gao视频| 国产成人精品片| h色视频在线观看| 久久精品视频在线观看| 久久最新免费视频| 麻豆成人av在线| 亚洲妇女屁股眼交7| 一区二区欧美亚洲| jizz视频在线观看| 奇米影视777在线欧美电影观看| 国产精品毛片久久久久久| 精品一区二区三区人妻| 欧美另类一区二区三区| av亚洲精华国产精华精华| 韩国欧美一区| 在线观看av不卡| jizz在线免费观看| 精品无吗乱吗av国产爱色| 一本久道综合久久精品| 在线视频日韩| 少妇丰满尤物大尺度写真| 黄色性视频网站| 中文字幕久久久av一区| 久久精品国产精品亚洲红杏| 中文字幕最新精品| 国产99久久精品一区二区300| 久久精品女人天堂| 人人艹在线视频| 19禁羞羞电影院在线观看| 久久97人妻无码一区二区三区| 在线观看免费视频你懂的| 中文字幕亚洲乱码| 国产免费视频传媒| 99久久久无码国产精品不卡| 公肉吊粗大爽色翁浪妇视频| 国产成人免费观看视频| 91福利在线观看视频| 激情欧美一区二区三区| 久久99精品视频| 欧美老少配视频| 好吊成人免视频| www.久久爱.cn| 色婷婷狠狠18禁久久| 欧美视频网址| 日韩美女视频中文字幕| 欧美三级自拍| 四虎成人免费电影| 琪琪久久久久日韩精品| 国产高清美女一级毛片久久| 国产熟女高潮一区二区三区| 亚洲视频免费一区| 亚洲 日本 欧美 中文幕| 嫩草伊人久久精品少妇av杨幂| 17c精品麻豆一区二区免费| 99热一区二区| 日本高清不卡一区二区三| 免费观看国产精品视频| 六月婷婷综合| 色综合色综合久久综合频道88| 国产综合网站| 欧美午夜欧美| 欧洲av一区二区嗯嗯嗯啊| 综合视频在线| 91九色国产在线播放| 九色porny丨首页入口在线| 亚洲精品在线a| 天堂√8在线中文| av电影在线观看网址| 精品国内亚洲2022精品成人| 亚洲国产欧美一区二区丝袜黑人| 羞羞视频网站在线观看| 啄木系列成人av电影| 国产91久久久久蜜臀青青天草二| 精品理论电影| 日韩在线观看一区二区| 岛国精品一区二区| 久久久久久无码午夜精品直播| 五月天综合在线| 国产无遮挡在线视频免费观看| 欧美精品一区二区精品网| 久久先锋影音av鲁色资源| 思思99精品视频在线观看| 日韩欧美在线视频观看| 亚洲精品第五页| av中字幕久久| 97影院秋霞午夜在线观看| 在线欧美成人| 免费观看不卡av| 国产香蕉精品视频一区二区三区| 免费黄色片视频| 久久久久九九精品影院| 超级碰碰视频| 国产成人毛毛毛片| 久久99精品一区二区三区三区| 国产色视频网站| 国产日本在线视频| 国产综合久久久久| 亚洲久本草在线中文字幕| 污视频网站在线| 国产欧美日韩成人| 成人性教育av免费网址| av成人国产| 星空无限传媒在线| 日韩欧美中文字幕视频| 91香蕉国产线在线观看| 亚洲精品久久久久久无码色欲四季| 18以下岁禁止1000部免费| 色狠狠色狠狠综合| 久久综合九色综合久久久精品综合| 精品美女久久久久久免费| 欧美精选视频一区二区| av一级在线观看| 久久久免费看片| 亚洲在线免费| ed2k情侣啪啪91av| 日韩一区二区免费高清| 很很鲁在线视频播放影院| 亚洲国产一区二区三区在线播| 性欧美videos另类hd| 日本福利片在线| 国产乱淫a∨片免费观看| 久草在线看片| 日韩av一级大片| 欧美一区二区高清在线观看| 亚洲欧美一区二区原创| 亚洲精品乱码久久久久久久久| 日漫免费在线观看网站| 最近2019中文字幕一页二页| 亚洲欧美成人vr| 日本福利视频网站| 1000部国产精品成人观看| 尤蜜粉嫩av国产一区二区三区| 国产精品一区在线观看乱码| 97久久人人超碰caoprom| 日日躁夜夜躁aaaabbbb| 亚洲综合在线小说| 国产成人精品国内自产拍免费看| 欧美综合在线观看视频| 嫩草影院国产精品| 国产精品久久久久久久久免费桃花| 欧美一级特黄a| 久久精品人人做人人综合| 日韩成人一区二区三区在线观看| 91香蕉一区二区三区在线观看| 国产手机视频在线| 黑人巨大xxx| 亚洲视频中文字幕在线观看| 国产日本亚洲| 色综合伊人色综合网站| 岛国av在线播放| 69堂免费精品视频在线播放| 天天爽夜夜爽夜夜爽精品视频| 狠狠干综合网| 人妻视频一区二区| 久久av在线| 超碰97在线看| 成人免费网站视频www| 日韩女同一区二区三区| 一级黄色a视频| 国产精品福利视频一区二区三区| 欧美日韩一区二区三区在线播放| 日韩精品免费一区| 国产精品护士白丝一区av| 久久精品九色| 欧美丰满老妇厨房牲生活| 992tv成人国产福利在线| 欧美激情视频一区二区三区|