精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Redis宕機了,Redis如何避免數據丟失?

數據庫 Redis
對于Redis來說,實現數據持久化以避免從后端數據庫進行恢復是至關重要的。目前,Redis實現數據持久化主要依靠兩種機制,即AOF(Append-Only File)日志和RDB快照。

當被問到在哪些業務場景下你會使用Redis時,你很可能會回答:“我會將其用作緩存,因為Redis將后端數據庫中的數據存儲在內存中,然后直接從內存中讀取數據,因此響應速度非常快。”沒錯,這確實是Redis的一種常見使用場景,但也存在一個絕對不能忽視的問題:一旦服務器宕機,內存中的數據將全部丟失。

解決這個問題的一個顯而易見的方法是從后端數據庫中恢復這些數據。然而,這種方法存在兩個問題:首先,頻繁訪問數據庫會給數據庫帶來巨大的壓力;其次,這些數據是從較慢的數據庫中讀取出來的,性能肯定不如從Redis中讀取,這會導致使用這些數據的應用程序響應速度變慢。因此,對于Redis來說,實現數據持久化以避免從后端數據庫進行恢復是至關重要的。

目前,Redis實現數據持久化主要依靠兩種機制,即AOF(Append-Only File)日志和RDB快照。在接下來的兩個部分,我們將分別深入探討這兩種機制。首先,讓我們重點關注AOF日志。

AOF 日志是如何實現的?

說到日志,我們比較熟悉的是數據庫的寫前日志(Write Ahead Log, WAL),也就是說,在實際寫數據前,先把修改的數據記到日志文件中,以便故障時進行恢復。不過,AOF 日志正好相反,它是寫后日志,“寫后”的意思是 Redis 是先執行命令,把數據寫入內存,然后才記錄日志,如下圖所示:

Redis AOF操作過程

那 AOF 為什么要先執行命令再記日志呢?要回答這個問題,我們要先知道 AOF 里記錄了什么內容。

傳統數據庫的日志,例如 redo log(重做日志),記錄的是修改后的數據,而 AOF 里記錄的是 Redis 收到的每一條命令,這些命令是以文本形式保存的。

我們以 Redis 收到“set testkey testvalue”命令后記錄的日志為例,看看 AOF 日志的內容。其中,“*3”表示當前命令有三個部分,每部分都是由“$+數字”開頭,后面緊跟著具體的命令、鍵或值。這里,“數字”表示這部分中的命令、鍵或值一共有多少字節。例如,“$3 set”表示這部分有 3 個字節,也就是“set”命令。

Redis AOF日志內容

但是,為了避免額外的檢查開銷,Redis 在向 AOF 里面記錄日志的時候,并不會先去對這些命令進行語法檢查。所以,如果先記日志再執行命令的話,日志中就有可能記錄了錯誤的命令,Redis 在使用日志恢復數據時,就可能會出錯。

而寫后日志這種方式,就是先讓系統執行命令,只有命令能執行成功,才會被記錄到日志中,否則,系統就會直接向客戶端報錯。所以,Redis 使用寫后日志這一方式的一大好處是,可以避免出現記錄錯誤命令的情況。

除此之外,AOF 還有一個好處:它是在命令執行后才記錄日志,所以不會阻塞當前的寫操作。

不過,AOF 也有兩個潛在的風險。

首先,考慮一種情況:如果剛剛執行完一個命令,還來不及將該命令記錄到日志中,Redis服務器突然宕機,那么這個命令以及相關數據可能會丟失。當Redis被用作緩存時,數據可以從后端數據庫重新加載以進行恢復。但是,如果Redis被直接用作數據庫,由于命令尚未被記錄到日志中,因此無法使用日志進行數據恢復。

其次,盡管AOF機制避免了當前命令的寫入日志時的阻塞,但這可能會帶來潛在的阻塞風險。這是因為AOF日志寫入也是在Redis的主線程中進行的。如果在將日志寫入磁盤時,磁盤寫入壓力很大,這將導致寫入操作非常緩慢,從而影響后續操作的執行。

經過仔細分析,你會發現這兩種風險都與AOF寫回磁盤的時機有關。這也就表明,如果我們能夠精確控制命令執行后AOF日志寫回磁盤的時機,那么這兩種風險就能夠得到有效地解決。

三種寫回策略

關于AOF機制的問題,有三種不同的策略,對應于AOF配置項appendfsync的三個可選值。

  • Always,同步寫回:在每個寫命令執行完后,它會立即將日志同步寫回到磁盤。
  • Everysec,每秒寫回:在每個寫命令執行完后,它僅將日志寫入AOF文件的內存緩沖區,然后每隔一秒才將緩沖區中的內容寫入磁盤。
  • No,操作系統控制的寫回:在每個寫命令執行完后,它也只是將日志寫入AOF文件的內存緩沖區,而將寫回磁盤的時機由操作系統控制。

然而,針對避免主線程阻塞和減少數據丟失問題,這三種寫回策略都無法做到完美的平衡。以下是對它們的分析:

  • 同步寫回可以基本保證數據不會丟失,但它在每個寫命令之后都需要執行一個相對較慢的落盤操作,這不可避免地會影響主線程的性能。
  • 盡管操作系統控制的寫回在寫完緩沖區后可以繼續執行后續命令,但它失去了對落盤時機的控制,只要AOF記錄未寫回磁盤,一旦發生宕機,對應的數據就會丟失。
  • 每秒寫回采用了一秒寫回一次的頻率,避免了與“同步寫回”相關的性能開銷,但如果發生宕機,上一秒內未寫回磁盤的命令操作仍然會丟失。因此,這個策略可以視為在避免影響主線程性能和避免數據丟失之間的一種妥協。

我把這三種策略的寫回時機,以及優缺點匯總在了一張表格里,以方便你隨時查看。

在這個階段,我們可以根據系統對高性能和高可靠性的需求來選擇適合的寫回策略。總結來說:

  • 如果追求高性能,可以選擇No策略。
  • 如果需要高可靠性保證,應選擇Always策略。
  • 如果能夠容忍一定程度的數據丟失,同時希望性能受到較小影響,那么Everysec策略是一個不錯的選擇。

然而,僅僅根據系統性能需求選擇寫回策略并不能完全保障系統的順利運行。這是因為AOF以文件形式記錄接收到的所有寫命令。隨著寫命令的不斷增加,AOF文件會變得越來越大。這會引發性能問題,主要體現在以下三個方面:

  • 文件系統本身對文件大小有限制,無法容納過大的文件。
  • 如果AOF文件過大,繼續往其中追加命令記錄將導致效率下降。
  • 在發生宕機時,AOF文件中記錄的每個命令都必須逐個重新執行以進行故障恢復。如果AOF文件過大,恢復過程將變得極其緩慢,從而影響Redis的正常運行。

因此,我們必須采取控制措施來解決AOF文件過大的問題,而AOF重寫機制就是其中一種解決方案。

日志文件太大了怎么辦?

AOF重寫機制的核心原理很簡單,它的任務是根據數據庫的當前狀態,創建一個全新的AOF文件。這意味著它需要讀取數據庫中的所有鍵值對,然后為每個鍵值對生成一條相應的寫入命令。例如,當它讀取鍵值對"testkey": "testvalue"時,重寫機制會記錄一條"set testkey testvalue"的命令。這樣,當需要進行故障恢復時,可以重新執行這些命令,以還原"testkey": "testvalue"的寫入操作。

那么,AOF重寫機制如何幫助減小日志文件的大小呢?實際上,它具有“多對一”的功能。這意味著,舊日志文件中的多個命令在重寫后的新日志中變成了一條命令。

我們知道,AOF文件以追加的方式記錄接收到的寫命令。當一個鍵值對經歷多次修改時,AOF文件會記錄多條相應的寫命令。然而,在重寫過程中,根據鍵值對的當前狀態,只生成一條對應的寫入命令。這意味著,一個鍵值對在重寫后的日志中只需要一條命令,而在日志恢復時,只需執行這一條命令,即可完全還原該鍵值對的寫入操作。這種方式顯著減小了AOF文件的體積,提高了性能。

下面這張圖就是一個例子:

AOF重寫減少日志大小

當我們對一個列表先后做了 6 次修改操作后,列表的最后狀態是[“D”, “C”, “N”],此時,只用 LPUSH u:list “N”, “C”, "D"這一條命令就能實現該數據的恢復,這就節省了五條命令的空間。對于被修改過成百上千次的鍵值對來說,重寫能節省的空間當然就更大了。

不過,雖然 AOF 重寫后,日志文件會縮小,但是,要把整個數據庫的最新數據的操作日志都寫回磁盤,仍然是一個非常耗時的過程。這時,我們就要繼續關注另一個問題了:重寫會不會阻塞主線程?

AOF 重寫會阻塞嗎?

和 AOF 日志由主線程寫回不同,重寫過程是由后臺線程 bgrewriteaof 來完成的,這也是為了避免阻塞主線程,導致數據庫性能下降。

我把重寫的過程總結為“一個拷貝,兩處日志”。

“一個拷貝”就是指,每次執行重寫時,主線程 fork 出后臺的 bgrewriteaof 子進程。此時,fork 會把主線程的內存拷貝一份給 bgrewriteaof 子進程,這里面就包含了數據庫的最新數據。然后,bgrewriteaof 子進程就可以在不影響主線程的情況下,逐一把拷貝的數據寫成操作,記入重寫日志。

“兩處日志”又是什么呢?

因為主線程未阻塞,仍然可以處理新來的操作。此時,如果有寫操作,第一處日志就是指正在使用的 AOF 日志,Redis 會把這個操作寫到它的緩沖區。這樣一來,即使宕機了,這個 AOF 日志的操作仍然是齊全的,可以用于恢復。

而第二處日志,就是指新的 AOF 重寫日志。這個操作也會被寫到重寫日志的緩沖區。這樣,重寫日志也不會丟失最新的操作。等到拷貝數據的所有操作記錄重寫完成后,重寫日志記錄的這些最新操作也會寫入新的 AOF 文件,以保證數據庫最新狀態的記錄。此時,我們就可以用新的 AOF 文件替代舊文件了。

AOF非阻塞的重寫過程

總結來說,每次 AOF 重寫時,Redis 會先執行一個內存拷貝,用于重寫;然后,使用兩個日志保證在重寫過程中,新寫入的數據不會丟失。而且,因為 Redis 采用額外的線程進行數據重寫,所以,這個過程并不會阻塞主線程。

小結

這篇文章詳細介紹了Redis中用于防止數據丟失的AOF(Append-Only File)方法。這種方法通過逐一記錄執行操作命令的方式,以確保在需要數據恢復時能夠逐一執行這些命令,從而保證了數據的可靠性。

雖然這一方法看似相對簡單,但它充分考慮了對Redis性能的潛在影響。總結來看,AOF日志提供了三種不同的寫回策略,分別為Always、Everysec和No。這三種策略在可靠性方面從高到低排序,但在性能方面則正好相反,從低到高。

此外,為了避免AOF日志文件變得過大,Redis還引入了AOF重寫機制。該機制通過后臺線程根據數據庫內數據的最新狀態生成相應的插入命令,作為新的AOF日志。這個過程的設計避免了對主線程的阻塞,從而提高了系統的整體性能。

這三種寫回策略突顯了系統設計中的重要原則,即權衡。這意味著需要在性能和可靠性之間找到平衡。我相信這一原則對于系統設計和開發來說至關重要,希望你能深刻理解它,并在實際開發中應用得當。

然而,需要注意的是,數據持久化和AOF重寫機制主要在"記錄日志"過程中發揮作用。例如,選擇合適的數據持久化時機可以避免在記錄日志時阻塞主線程,而AOF重寫機制則可以防止AOF日志文件無限增長。但在"使用日志"的過程中,即使用AOF進行故障恢復時,所有操作記錄仍然需要逐一執行??紤]到Redis的單線程設計,這個"重放"過程可能會比較慢。

然而,是否有一種方法既能確保數據不丟失,又能更快地進行數據恢復呢?當然,這就是RDB快照的用武之地。在下一篇文章中,我們將深入研究RDB快照的工作原理和應用。

責任編輯:趙寧寧 來源: 碼農本農
相關推薦

2021-01-05 10:48:38

RedisAOF日志RDB快照

2021-11-30 06:32:19

Redis宕機集群

2024-11-11 07:05:00

Redis哨兵模式主從復制

2024-02-26 08:10:00

Redis數據數據庫

2019-05-15 09:04:47

Redis數據存儲數據

2019-05-15 09:44:33

數據Redis持久化

2023-10-22 11:17:50

AOFRedis數據庫

2020-12-31 07:34:04

Redis數據宕機

2023-11-27 13:18:00

Redis數據不丟失

2010-09-09 17:43:03

APC

2019-03-13 09:27:57

宕機Kafka數據

2011-07-27 09:32:27

2024-02-23 14:53:10

Redis持久化

2021-05-27 05:29:29

緩存數據Redis

2022-07-11 08:01:55

Kafka服務器宕機

2021-01-12 08:03:19

Redis數據系統

2025-03-14 12:30:00

Redis RDBRedis數據庫

2023-10-20 13:18:05

Flink數據

2021-06-04 12:05:03

Redis Bitmap 數據庫

2024-05-27 09:07:27

點贊
收藏

51CTO技術棧公眾號

黄色欧美网站| 9999在线视频| 国产真实乱偷精品视频免| 欧美国产日本高清在线 | 日韩黄色在线播放| 欧洲美女日日| 精品卡一卡二卡三卡四在线| 一本大道熟女人妻中文字幕在线| 中文字幕在线免费| 成人看片黄a免费看在线| 国产极品精品在线观看| 欧美一区二区三区爽爽爽| 欧洲vs亚洲vs国产| 在线播放中文字幕一区| 免费看一级大黄情大片| 麻豆tv在线| 久久九九久精品国产免费直播| 成人性教育视频在线观看| 二区视频在线观看| 亚洲人体av| 国产亚洲在线播放| 国产一卡二卡三卡四卡| 亚洲狼人在线| 色欧美日韩亚洲| 久草免费福利在线| av黄在线观看| 国产精品第13页| 久久艳妇乳肉豪妇荡乳av| 午夜精品小视频| 美女在线一区二区| 日本三级韩国三级久久| 久久久久无码国产精品| 国产精品麻豆久久| 一区二区三区 在线观看视| 日本一区二区免费视频| 97精品国产99久久久久久免费| 天天综合天天综合色| 中文字幕乱码免费| 欧美激情午夜| 欧美韩国一区二区| 日韩高清国产精品| 欧美精品a∨在线观看不卡 | 精品午夜一区二区三区| 精品人妻一区二区三区三区四区| 美日韩一级片在线观看| 国产精品久久久久久久久久久新郎 | 成年人在线视频| 99re热这里只有精品免费视频| 国产精品二区在线观看| 国产手机av在线| 国产乱色国产精品免费视频| 成人精品在线视频| 一级全黄裸体免费视频| 久久成人免费网站| 国产日韩精品电影| 国产精品一区二区黑人巨大| 另类小说视频一区二区| 国产又爽又黄的激情精品视频| 中文字幕久久久久| 捆绑紧缚一区二区三区视频| 国产精品男人的天堂| 中文字幕在线一| 美女mm1313爽爽久久久蜜臀| 国产精品色悠悠| 夜夜躁很很躁日日躁麻豆| 麻豆精品一区二区三区| 91久久久久久久| 国产成人免费看一级大黄| 国产麻豆视频一区| 国产精品久久久久av福利动漫| 亚洲精品国产suv一区| 成人精品鲁一区一区二区| 激情小说综合网| 欧美理论在线观看| 国产精品欧美一级免费| 国产又大又长又粗又黄| 伊人在我在线看导航| 亚洲国产欧美另类丝袜| 内射国产内射夫妻免费频道| 日韩电影免费观| 欧美日韩视频不卡| 下面一进一出好爽视频| 日韩av一二三区| 后进极品白嫩翘臀在线播放| 亚洲视频小说图片| 潘金莲一级淫片aaaaa免费看| aa在线视频| 懂色av一区二区三区| 91最新在线观看| 日本一区影院| 亚洲男人天堂2024| 内射一区二区三区| 亚洲一区二区网站| 国产精品一区二区电影| 懂色av成人一区二区三区| 久久久夜色精品亚洲| 伊人久久大香线蕉av一区| segui88久久综合| 在线亚洲欧美专区二区| 曰本三级日本三级日本三级| 久久99精品久久久久久园产越南| 久久精品国产一区二区电影| 国产精品午夜影院| 国产在线国偷精品产拍免费yy| 精品麻豆av| 精品视频在线一区二区| 欧美日韩一区二区三区在线免费观看| jizz大全欧美jizzcom| 粉嫩一区二区三区四区公司1| 国产亚洲视频中文字幕视频| 黄色小说在线观看视频| 久久91精品久久久久久秒播| 久久婷婷国产综合尤物精品| 顶级网黄在线播放| 在线观看亚洲成人| 捆绑凌虐一区二区三区| 中文字幕人成人乱码| 国产va免费精品高清在线观看 | 精品粉嫩超白一线天av| 午夜影院黄色片| 亚洲日本免费| 亚洲一区亚洲二区| 999国产在线视频| 欧美天堂在线观看| 人妻互换一二三区激情视频| 国产精品二区不卡| 国产精品白嫩初高中害羞小美女| 国精产品一品二品国精品69xx| 国产精品理论片| 欧美黑人又粗又大又爽免费| 女同久久另类99精品国产| 久久天堂电影网| 中文字幕视频二区| 久久久99精品久久| 欧美一级在线看| www.成人网| 九九精品在线视频| 国产美女明星三级做爰| 最新成人av在线| 日本中文字幕精品—区二区| 国产一区二区三区探花| 国产91免费观看| 免费国产在线观看| 色综合夜色一区| 91网站免费入口| 久久精品日产第一区二区| 国产在线观看一区| 大桥未久在线视频| 亚洲第一精品夜夜躁人人爽| 国产真实夫妇交换视频| 99精品久久99久久久久| 国产中文字幕视频在线观看| 日韩大尺度在线观看| 97色在线观看免费视频| 五月婷婷开心中文字幕| 欧美日韩国产一区二区| 日韩一级视频在线观看| 视频一区二区不卡| 神马欧美一区二区| 精品美女一区| 成年无码av片在线| 亚洲精品久久久蜜桃动漫| 亚洲黄色免费网站| 精品视频站长推荐| 免费视频一区| 五月天久久狠狠| 成人精品视频在线观看| 欧美日本精品在线| 亚州男人的天堂| 色婷婷精品大视频在线蜜桃视频| 草草影院第一页| 男男成人高潮片免费网站| 伊人久久大香线蕉av一区| 亚洲一区二区三区免费| 97超碰国产精品女人人人爽 | 国产精品久久久爽爽爽麻豆色哟哟| 超碰成人在线播放| 欧美日韩福利| 欧美成人dvd在线视频| 成人看片毛片免费播放器| 久久成人精品一区二区三区| 人妻无码一区二区三区久久99| 天天影视色香欲综合网老头| 丁香激情五月少妇| 国产成人亚洲综合a∨婷婷| 日韩激情免费视频| 久久神马影院| 国产欧美一区二区三区另类精品| 欧亚一区二区| 九九久久精品一区| 欧美一区二区三区少妇| 在线播放中文字幕一区| 狠狠躁夜夜躁人人爽天天高潮| 日本一区二区综合亚洲| 9191在线视频| 日本三级亚洲精品| 国产在线视频在线| 日韩影院二区| 精品国产乱码久久久久| 久久久久久久性潮| 91高清免费在线观看| 日本www在线观看视频| 亚洲第一区在线观看| 911美女片黄在线观看游戏| 亚洲成人中文在线| 国产精品免费在线视频| 91在线免费播放| 深夜视频在线观看| 毛片av一区二区三区| 日韩精品视频久久| 欧美午夜一区| 国产成人三级视频| 国产一区二区三区四区五区传媒| 国产精品视频免费一区| 国产精品成人3p一区二区三区| 91精品国产色综合久久不卡98口| 成人黄视频在线观看| 国产午夜精品免费一区二区三区| 欧美特黄一级视频| 欧美一区二区三区视频免费播放| 亚洲欧美一二三区| 婷婷成人激情在线网| 欧美成人一区二区三区高清| 国产精品久久综合| 国产jjizz一区二区三区视频| 成人国产电影网| 亚洲高清在线不卡| 麻豆国产欧美一区二区三区| 国产精品69页| 久久成人免费| 91视频 -- 69xx| 99精品视频免费观看| 天天做天天躁天天躁| 欧美 日韩 国产一区二区在线视频| 亚洲va久久久噜噜噜久久狠狠| 亚洲丝袜美腿一区| 乱色588欧美| 亚洲电影一级片| 精品视频第一区| 啪啪国产精品| 精品国产乱码久久久久久丨区2区| 一区二区三区国产好| 亚洲精品欧美日韩专区| 日韩欧美一级| 99精彩视频| 一区中文字幕| 国产高清在线精品一区二区三区| 日韩欧美久久| 国产精品日韩一区二区三区| 国内视频在线精品| 精品久久久久久亚洲| 亚洲日本三级| 日本一区二区三不卡| 国产亚洲一区二区三区不卡| 日本视频一区二区在线观看| 精品国产乱码久久久久久蜜坠欲下 | 一区二区三区韩国| 美女视频一区二区| aaa一级黄色片| 国产精品91一区二区| 日本wwwwwww| 91在线观看污| 欧美成人另类视频| 中文字幕一区二区视频| 中文字幕亚洲欧美日韩| 亚洲电影在线免费观看| 久久久精品免费看| 色菇凉天天综合网| 亚洲系列第一页| 欧美一区二区啪啪| 日韩一级在线播放| 亚洲系列中文字幕| 老司机在线永久免费观看| 九九久久久久99精品| 少妇视频一区| 国产视频999| 91蜜桃臀久久一区二区| 美日韩免费视频| 久久福利综合| 青青草国产精品视频| 石原莉奈在线亚洲三区| 日韩精品aaa| 97久久人人超碰| 国产高清视频免费在线观看| 亚洲一区二区影院| 日韩乱码一区二区三区| 91精品国产综合久久久蜜臀图片| 高潮毛片7777777毛片| 国产亚洲美女久久| 呦呦在线视频| 国产精品久久精品| 久久久久久毛片免费看| 午夜精品一区二区在线观看| 亚洲大片av| jizz大全欧美jizzcom| 高清不卡在线观看av| 亚洲精品国产精品国自| 亚洲成人激情自拍| 91精品视频免费在线观看| 日韩精品在线观| а√中文在线8| 国产精品欧美亚洲777777| 成人高潮a毛片免费观看网站| 日韩福利影院| 国产精品毛片一区二区三区| 成人不卡免费视频| 久久久久久久久97黄色工厂| 澳门黄色一级片| 欧美无砖砖区免费| 亚洲 欧美 激情 小说 另类| 成人97在线观看视频| 精品123区| 久久精品日产第一区二区三区精品版| 婷婷精品进入| 国产三级三级三级看三级| 国产高清久久久| 在线观看黄网址| 欧洲另类一二三四区| 亚州男人的天堂| 久久人人爽人人爽人人片av高请 | 日本一区二区三区免费观看| 国产精品刘玥久久一区| 亚洲综合视频网| 国产精品久久久久久久妇| 欧美tk—视频vk| 二区三区在线观看| 成人黄在线观看| 色呦哟—国产精品| 中文字幕第36页| 国产亚洲欧美日韩俺去了| 欧美bbbbbbbbbbbb精品| 精品国产乱码久久久久久闺蜜 | 日本免费一区视频| 欧美成人午夜激情在线| 日日狠狠久久| 亚洲欧美影院| 免费在线一区观看| 色噜噜噜噜噜噜| 欧美网站一区二区| 韩国福利在线| 国产精品久久久久久影视| 欧美美女在线| 免费日韩视频在线观看| 久久一日本道色综合| 久久青青草原亚洲av无码麻豆| 日韩av在线网| 成人av观看| 日本高清视频一区二区三区| 久久一区激情| 成人小视频免费看| 91精品国产综合久久精品麻豆| 麻豆视频免费在线观看| 91黄色精品| 亚洲福利精品| 欧美极品jizzhd欧美| 偷拍视频一区二区三区| 久久亚洲高清| 日韩经典一区二区| 在线观看亚洲大片短视频| 欧美久久久久久久久中文字幕| 里番在线观看网站| www.久久爱.cn| 在线一区欧美| 长河落日免费高清观看| 在线成人小视频| 国产深夜视频在线观看| 久久99精品久久久久久水蜜桃| 久久国产精品99国产| 少妇高潮惨叫久久久久| 日韩三区在线观看| а√天堂中文在线资源8| 欧美日韩精品久久| 九色|91porny| 国产亚洲自拍av| 亚洲精品永久免费| yiren22亚洲综合| 咪咪色在线视频| 岛国一区二区三区| 日本视频在线观看免费| 在线播放日韩专区| 日本精品在线播放| 国产特级黄色大片| 国产精品国产三级国产aⅴ入口 | 日韩精品一区二区亚洲av观看| 少妇高潮久久77777| japanese色系久久精品| 成熟老妇女视频| 亚洲欧美aⅴ...| av动漫在线播放| 狠狠色狠狠色综合婷婷tag| 精品亚洲视频在线| 精品久久久视频| 免费人成在线观看播放视频| 国产午夜精品在线| 久久99九九99精品| 五月天激情国产综合婷婷婷| 欧美成人剧情片在线观看| 九一亚洲精品| 欧美激情一区二区三区p站| 欧美日韩一区二区三区高清|