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

一杯茶的功夫,上手Redis持久化機制

存儲 存儲軟件 Redis
Redis作為最常用的內存數據庫,通常來說數據存儲在內存中,為了避免Redis服務器進程退出導致內存中的數據消失。

 [[360828]]

本文轉載自微信公眾號「石杉的架構筆記」,作者崔皓 。轉載本文請聯系石杉的架構筆記公眾號。

開篇

Redis作為最常用的內存數據庫,通常來說數據存儲在內存中,為了避免Redis服務器進程退出導致內存中的數據消失。Redis提出了持久化機制,也就是把內存中的數據保存到磁盤中,從而提高數據存儲的可靠性。為此主流數據庫會提供兩類持久化方案,它們是“快照”存儲和“日志”存儲。相應地Redis提供了RDB持久化和AOF持久化與之對應。其中RDB是以快照的方式存儲內存數據到磁盤上,而AOF是以日志追加的方式進行存儲。下面就圍繞這兩種持久化方式展開如下內容:

  • RDB 文件結構
  • RDB觸發機制以及流程
  • AOF持久化流程
  • AOF緩沖區同步文件策略
  • AOF重寫
  • RDB和AOF的比較

RDB持久化

RDB是Redis Database 的縮寫,其作用是在某一個時間點,將Redis存儲在內存中的數據生成快照并存儲到磁盤等介質上,存在這個磁盤介質上的文件就是RDB文件。“快照”顧名思義就是好像照相一樣保存當時的數據,這里的RDB文件是一個二進制的文件,并且是經過壓縮的。因為RDB文件是保存在硬盤中的,即使Redis服務器進程退出,甚至運行Redis服務器的計算機宕機,但只要RDB文件仍然存在,Redis服務器就可以用它來還原數據庫狀態。如圖1 所示,可以想象Redis數據庫在時間軸上有位于不同時間點的時候都有一個數據庫狀態,可以把它們想象成一個個切片。圖上標注出兩個時間點的兩個數據庫切片,RDB持久化做的事情就是順著綠色箭頭的方向將數據庫狀態的“切片”以RDB文件的形式保存到磁盤中。

 

圖1 將數據庫狀態保存為RDB文件

RDB 文件結構

雖然說RDB是一個壓縮過的二進制文件,但是它的文件結構也需要有基本的了解,這樣有助于我們理解其發揮的作用。如表格1所示,RDB文件由5個部分組成,按照從左到右的順序依次是:

  • 文件最開頭是“REDIS”部分,其長度為5個字節,保存著“REDIS”五個字符。通過這五個字符,程序可以在載入文件時可以判斷所載入的文件是否是RDB文件。
  • 接下來是“db_version”長度為4字節,是一個字符串表示的整數,它記錄了RDB文件的版本號,例如:"0006"就代表RDB文件的版本為第六版。
  • “databases”中可以包含著零個或任意多個數據庫。
  • “EOF”常量的長度為1字節,是 RDB文件正文結束的標識,當載入程序讀取到個值的時,就意味著數據庫的所有鍵值對都已經加載完畢了。
  • “check_sum”是一個8字節長的無符號整數,保存著一個校驗和。這個校驗和是通過對“REDIS”、“db_version”、“databases”、以及“EOF”四個部分的內容進行計算得出的。Redis服務器在載入RDB文件時,會將載入數據所計算出的校驗和與check_sum所記錄的校驗和進行對比,以此來判斷RDB文件是否損壞。

REDIS

db_version

databases

EOF

check_sum

表格1 RDB的文件結構

如表格2所示,其表示一個databases部分為空的RDB文件:文件以"REDIS"開頭,表示這是一個RDB文件,之后的"0006"表示數據庫版本是第六版。因為databases為空所以這里沒有數據庫的信息,所以版本號之后直接跟著“EOF”常量,最后的6265312314761934562是文件的校驗和。

REDIS

“0006”

EOF

6265312314761934562

表格2 RDB文件例子

RDB 觸發機制以及流程

在認識了RDB文件的結構以后,再來看看Redis 如何觸發RDB持久化操作,以及其具體流程是如何的。這里包括三部分的內容,分別是save同步方式觸發、bgsave 異步方式觸發以及自動配置化的方式觸發。

save同步方式觸發RDB持久化

如圖2所示,描述了save 同步方式持久化RDB的過程:

  1. Redis Client端通過向Redis Server 發起save命令請求RDB持久化操作。
  2. Redis Server接受到命令以后,將當前數據庫快照保存到RDB文件中。
  3. 由于save命令是同步操作,因此如果此時有其他Redis Client也向Redis Server發起save操作,會被阻塞直到第一個Redis Client完成save命令為止。

 

圖2 save同步方式觸發RDB持久化

bgsave同步方式觸發RDB持久化

如圖3所示,異步方式過程如下:

  1. 依舊是Redis Client發起命令,不過命令改成了bgsave(background save有后臺運行的意思),照舊請求Redis Server。
  2. Redis Server接受到請求以后會fork出一個Redis子進程。
  3. 這個子進程用來創建RDB文件。由于這個過程是異步的,因此Redis Server在啟動子進程以后還可以接受其他請求。
  4. Redis 子進程創建RDB文件以后會把成功的消息返回給Redis Server。
  5. 由于bgsave命令是異步操作,如果此時有其他Redis Client同時請求Redis Server并不會被阻塞。Redis Server會響應請求,同樣也會fork出對應的子進程進行RDB文件的創建。

 

圖3 bgsave異步方式觸發RDB持久化

自動配置化的方式觸發

如圖4所示,這種方式可以理解為讀取配置文件的方式。看下面的三個步驟:

  1. Redis Server直接讀取Redis 配置文件的內容,獲取RDB持久化的信息。
  2. 在Redis配置文件中配置了對應的save命令用來代替Redis Client請求的命令。其配置內容包括save命令、秒和修改次數。按照圖中的例子來說,“save 500 3” 的意思是,在500秒的時間內如果Redis 數據庫有3次修改就進行save請求,也就是請求RDB的持久化操作。
  3. 一旦滿足配置文件中的條件,Redis Server就會執行對應的save操作進行持久化。

 

圖4 讀取配置文件進行RDB持久化

一般而言Redis的配置信息會放到redis.conf配置文件中進行存儲,其包含很多內容,這里我們就RDB持久化的部分給大家做簡單介紹。redis.conf文件中找到“SNAPSHOTTING”(快照)的部分。看如下幾個配置項:

  1. # 900秒內有1次修改、300秒內有10次修改、60秒內有10000次修改 
  2. #滿足任何以上條件,觸發RDB持久化。 
  3. save 900 1 
  4. save 300 10 
  5. save 60 10000 
  6.  
  7. # 當快照操作bgsave出錯時,是否停止持久化?yes 表示“是”,no表示“否”。 
  8. stop-writes-on-bgsave-error yes 
  9.  
  10. # 是否壓縮?yes表示“是”,no表示“否”,默認選擇yes。 
  11. rdbcompression yes 
  12.  
  13. # 對rdb數據進行校驗, 表示寫入文件和讀取文件時是否開啟 RDB 文件檢查。 
  14. # yes表示“是”,no表示“否”,默認選擇yes。 
  15. # 選擇yes表示在Redis加載RDB需要檢查文件是否損壞,如果存在損壞會停止啟動。 
  16. rdbchecksum yes 
  17.  
  18. # 設置rdb的文件名 
  19. dbfilename dump.rdb 
  20.  
  21. # RDB文件的路徑,如果不單獨指定,默認是redis的啟動路徑。 
  22. dir ./ 

關于RDB持久化恢復Redis數據方面也比較簡單,將RDB持久化文件 (例如:dump.rdb) 移動到 Redis 安裝目錄并啟動Redis服務就可以了。可以通過 Redis 中的“CONFIG GET dir”命令獲取Redis的安裝目錄。

由于RDB是一個壓縮的二進制文件,其代表Redis在某一個時間點上的快照。其適合數據庫備份和全量復制的場景。比如定期給數據庫進行備份,把RDB文件拷貝到其他的服務器上,以及用于災備。同樣是因為壓縮的原因,RDB的加載速度比AOF也要快。

AOF持久化

上面介紹了RDB的執行方式和流程,這種方式沒有辦法做到實時持久化的要求。因為無論是save還是bgsave每次運行都要消耗大量的資源(CPU、內存、磁盤)。隨著數據庫本身容量的增加每次備份的數據量也隨之增加。同時RDB是二進制保存,當Redis版本演進過程中有多個格式的RDB版本,會存在老版本RDB與新版本格式兼容的問題。正式因為RDB的這些問題,Redis提出了AOF的持久化方式。AOF(append only file),是以日志的方式記錄每次寫入的命令,在Redis Server啟動的時候會重新執行AOF文件中的命令,從而達到恢復數據的目的。AOF可以解決數據持久化的實時性問題,也是當前Redis主流的持久化方式。

AOF持久化流程

上面提到了AOF持久化的過程就是日志不斷追加的過程,這里通過圖5 給大家介紹具體流程:

  1. Redis Client作為命令的來源,會有多個源頭以及源源不斷的請求命令。
  2. 在這些命令到達Redis Server 以后,并不是直接寫入AOF文件,會將其這些命令先放入AOF緩存中進行保存。這里的AOF緩沖區實際上是內存中的一片區域,存在的目的是當這些命令達到一定量以后再寫入磁盤,避免頻繁的磁盤IO操作。
  3. AOF緩沖會根據對應的策略將命令寫入磁盤上的AOF文件。
  4. AOF文件隨著寫入文件內容的增加,會根據規則進行命令的合并,這里叫做AOF重寫,從而起到AOF文件壓縮的目的。
  5. 當Redis Server 服務器重啟的時候會從AOF文件載入數據。

 

圖5 AOF 處理流程圖

AOF緩沖區同步文件策略

上面提到了Redis 會將命令先寫入到AOF緩沖區,再寫入AOF文件。這里介紹一下AOF緩沖區同步文件的三個策略。

  • always 策略:命令寫入AOF緩沖區以后會調用系統fsync 操作同步到AOF文件,fsync完成后線程返回。這里的fsync是針對單個文件的操作,在進行磁盤同步的時候會阻塞直到寫入磁盤完成以后返回,從而保證數據持久化的完成。
  • everysec 策略:命令寫入AOF緩沖區以后調用write操作,write完成后線程返回。此操作會有專門線程執行每秒執行一次。這里的write操作會觸發延遲寫(delayed write)機制,Linux 內核提供頁緩沖區來提高硬盤IO性能。也就是說write 操作寫入系統緩沖區以后就返回了,同步硬盤依賴于操作系統調度機制完成。(Redis默認配置)
  • no策略:此種刷新策略是根據操作系統來決定的,也就是由操作系統來決定什么時候將緩沖區的數據寫入到磁盤中。由于是操作系統來決定持久化,所以這種方式是不可控的。

AOF 重寫

AOF緩沖區會將Redis Client請求的命令源源不斷地同步到AOF文件中,同時AOF文件會不斷增大,這里就需要AOF重寫。AOF重寫就是把Redis進程內的數據轉化為寫命令同步到新的AOF文件的過程。其目的就是使重寫后的AOF文件變得更小:

  • 進程內已經超時的數據不會再寫入AOF文件中。
  • 舊AOF文件含有的無效命令,可以通過進程內的數據直接生成,新的AOF文件只保留最終的數據寫入命令。例如就文件中存在三條命令,它們依次是“set hello A”、 “set hello B”和“set hello C”,對同一個key 進行負值只有最后一句“set hello C”是起效的,所以這三條命令會被“set hello C”一條命令替換,并且保存到新的AOF文件中。
  • 另外,多條寫命令可以合并成一個。例如依次存在三個命令:“lpush list A”、 “lpush list B”和“lpush list C”,這里就可以合并為一條命令“lpush list A B C”。

AOF重寫不僅降低了文件的占用空間,同時更小的AOF也可以更快地被Redis加載。

說完了AOF重寫的定義以后,下面來看看AOF重寫的流程。一般而言有兩種方式可以執行重寫操作,分別是:bgrewriteaof 命令和AOF重寫配置。

bgrewriteaof命令重寫

如圖6 所示,整個執行過程由三步組成:

  • Redis Client發起bgrewriteaof命令,這個命令是一個異步命令。由于Redis Server 在接受bgrewriteaof命令的同時,還可以接受其他Redis Client的命令,因此后面的第二步和第三步實際上是并行進行的。第二步:進行AOF重寫,在同時第三步:還會接受其他非重寫的命令請求。
  • Redis Server接受到這個命令以后,會啟動一個Redis的子進程用來執行AOF重寫操作。這個重寫過程實際上是針對Redis內存中的數據進行回溯,也就是下方紅色區域的“AOF重寫緩沖區”。
  • 正如在第一步中提到的,在進行第二步的同時第三步還在接受客戶端的請求并且通過“AOF緩沖區”保存到“舊AOF文件”中。
  • 最終,完成AOF重寫操作以后將“新AOF文件”寫入到“舊AOF文件”中完成AOF重寫。

 

圖6 AOF重寫流程圖

AOF配置重寫

實際上是通過AOF的配置文件中的配置值來確定重寫的時機。配置如下:

 

通過上面的配置可以得到AOF重寫的機制如下:

  • 當AOF文件當前尺寸大于AOF重寫的最小尺寸的時候就觸發重寫機制。通過上面配置來形成表達式就是:aof-current-size> auto-aof-rewrite-min-size
  • 當AOF文件當前尺寸減去AOF文件本身尺寸的值除以AOF文件本身的尺寸得到的結果大于AOF文件重寫比率的時候就需要出發重寫機制。

表達式就是:aof-current-size- aof-base-size/ aof-base-size > auto-aof-rewrite-percentage

由于Redis的配置文件中RDB是默認配置。AOF需要手動開啟。

需要到Redis的配置文件redis.conf中進行如下設置。

  1. #開啟AOF模式 ,yes表示“開啟AOF模式”。 
  2.  
  3. appendonly yes 

與RDB持久化文件恢復數據一樣,只需要將AOF文件 移動到 Redis 安裝目錄,并啟動Redis服務就可以在Redis啟動的時候加載AOF文件恢復數據了。

通過上面對AOF的描述可以看出,AOF具有數據完整,安全性高(秒級數據丟失)等優點。同時AOF文件以追加日志文件的形式存在,且寫入操作是以Redis協議格式保存的,因此其內容是可讀性強,適合誤刪時的緊急恢復。不過,相對于RDB而言其文件尺寸較大,會占用更多Redis啟動加載數據的時間。

RDB和AOF的比較

前面介紹了RDB和AOF兩種機制,這里將它們做一個簡單對比。

  • 啟動優先級:假設Redis 同時打開了RDB和AOF持久化功能,當Redis重啟的時候會優先加載AOF,因為AOF數據更新的頻率更高,會保存更新的數據。
  • 體積大小/恢復速度:RDB是使用二進制壓縮的模式保存,因此體積會比較小,在Redis恢復的時候加載的速度也會更快。相反AOF寫入的是日志的形式,因此體積會較大,恢復速度也會慢些。
  • 數據安全性:RDB是以快照的模式保存數據,對數據的保存不是實時性的,會有丟失數據的可能性。而在這方面AOF的日志方式數據丟失的幾率會比RDB好很多(例如:everysec)。
  • 資源消耗:RDB顯示需要消耗的資源會更大,因為每次將全量的數據保存到磁盤中。而AOF每次可以保存增量的Redis數據。

總結

本文從為什么需要數據庫持久化作為切入點,談到Redis中的兩類數據庫持久化機制:RDB和AOF。其中針對RDB持久化通過介紹RDB文件結構、觸發持久化的機制和流程進行了闡述。其包括:save同步方式、bgsave同步方式和自動配置方式。針對AOF持久化,通過AOF持久化流程、緩沖區同步文件策略以及AOF重寫機制進行了介紹。其中緩沖區同步策略包括:always策略、everysec策略和no策略。

 

責任編輯:武曉燕 來源: 石杉的架構筆記
相關推薦

2020-01-14 09:54:58

Zabbix監控系統

2019-05-17 08:55:49

RedisRDBAOF

2024-09-12 08:49:53

2020-06-23 18:19:10

戴爾

2021-03-16 08:26:49

RedisRDBAOF

2024-09-06 17:49:46

2019-11-12 14:15:07

Redis內存持久化

2023-12-26 07:33:45

Redis持久化COW

2024-12-20 12:15:06

RedisRDB持久化

2020-01-06 14:54:31

RDBAOFRedis

2023-10-12 13:01:29

Redis數據庫

2020-03-03 14:15:49

Redis持久化數據庫

2024-03-26 00:03:08

Redis數據RDB

2013-06-28 14:14:58

大數據

2020-02-18 16:14:33

RedisRDBAOF

2021-10-04 21:11:18

Redis混合持久化

2023-05-11 09:12:35

RedisRDB日志

2021-03-10 00:02:01

Redis

2019-07-18 11:17:53

數據

2024-08-19 09:07:00

手抓餅攤數據分析SQL
點贊
收藏

51CTO技術棧公眾號

日韩一级精品| 成人天堂yy6080亚洲高清| 激情文学综合丁香| 不卡伊人av在线播放| 性xxxxxxxxx| 一个人看的www视频在线免费观看| 91丨九色丨蝌蚪丨老版| 国产精品久久久久久久电影| 日韩欧美123区| 都市激情亚洲欧美| 欧美在线看片a免费观看| 一区二区三区四区五区精品| 亚洲成人精品女人久久久| 国产一级久久| 麻豆一区二区在线观看| 日本少妇色视频| 9999精品免费视频| 富二代精品短视频| 亚洲一区精彩视频| 香蕉视频黄在线观看| 日本成人在线电影网| 精品视频9999| 欧美性生给视频| 伦理一区二区三区| 欧美一区二区视频在线观看 | 青青色在线视频| 国产综合久久久久影院| 欧美在线视频免费| 久久久久久久久毛片| 精品国产一区二区三区噜噜噜 | 欧美精品aaaa| 国产中文在线播放| 亚洲精品视频在线看| 色视频一区二区三区| 国产小视频一区| 韩国欧美一区二区| 国产成人av在线播放| 精品少妇久久久| 国产精品久久久久久久| 国产亚洲美女精品久久久| 日韩Av无码精品| 777久久精品| 在线播放日韩导航| 日本肉体xxxx裸体xxx免费| 大胆人体一区| 婷婷六月综合网| 人妻无码久久一区二区三区免费| 国内精品久久久久久野外| 欧美高清在线一区二区| 欧美一区2区三区4区公司二百 | 成人动漫一区二区三区| 亚洲影院污污.| 国产三级三级在线观看| 久久99久国产精品黄毛片色诱| 国产精品福利在线| 欧美日韩a v| 久久青草久久| 国产91在线播放精品91| 精产国品一区二区| 免费在线成人| 奇门遁甲1982国语版免费观看高清 | 北条麻妃一区二区三区中文字幕 | 综合色天天鬼久久鬼色| 中文字幕在线观看一区二区三区| 91se在线| 中文字幕在线不卡| 国产福利片一区二区| 欧美成人xxx| 亚洲欧洲国产专区| 国产成人精品免费看在线播放 | 亚洲视频分类| 亚洲视频专区在线| 亚洲图片第一页| 日韩在线视频精品| 久久久精品电影| 免费在线观看日韩| 99在线精品免费视频九九视| 2019精品视频| 国产精品欧美综合| 精品一区二区三区在线观看国产 | 99久久99久久久精品棕色圆| 国产乱人伦精品一区二区在线观看| 91精品在线观看视频| wwwav在线播放| av不卡一区二区三区| 欧美日韩在线精品一区二区三区| 国产在线网站| 亚洲美女视频在线观看| 和岳每晚弄的高潮嗷嗷叫视频| 神马久久午夜| 欧美日韩精品一区二区三区四区 | 在线观看毛片av| 国产一区三区三区| 久久国产精品精品国产色婷婷| 色综合成人av| 国产精品久久久久久久裸模| 18视频在线观看娇喘| 高潮在线视频| 欧美精品久久一区| 日本不卡视频一区| 欧美一区二区三区高清视频| 久久久久九九九九| 免费av中文字幕| 成人自拍视频在线观看| 色吧亚洲视频| 国产亚av手机在线观看| 欧美影视一区在线| 在线黄色免费网站| 日韩在线综合| 欧美在线视频导航| av在线资源观看| 欧美经典一区二区三区| 天天做天天躁天天躁| 欧美精品资源| 亚洲成人网久久久| 成年人免费视频播放| 亚洲欧洲日本一区二区三区| 91欧美精品成人综合在线观看| 午夜视频福利在线观看| 亚洲精品视频免费观看| 99视频在线视频| 精品女人视频| 欧美xxxx综合视频| 中文字幕在线观看高清| 99精品在线观看视频| av中文字幕av| 国产亚洲欧美日韩精品一区二区三区 | 国产内射老熟女aaaa∵| 国产欧美日韩综合精品一区二区| 精品成在人线av无码免费看| 亚洲狼人在线| 一本一本久久a久久精品牛牛影视| 五月天综合在线| 国产精品一区二区你懂的| 亚洲视频电影| 中文.日本.精品| 亚洲欧美日韩国产成人| 久久露脸国语精品国产91| 国产精品一区一区| 国产91av视频在线观看| 日韩高清不卡| 国产午夜精品全部视频在线播放| 国产一级一级片| 国产一区二区三区日韩| 亚洲欧美国产精品桃花| 成人免费av电影| 亚洲精品自在久久| 成人毛片18女人毛片| 91视频免费观看| 成人免费播放器| 国产精品欧美大片| 国产69精品久久久久9| 精品国产乱码一区二区三| 亚洲视频你懂的| www.超碰97.com| 国产精品99在线观看| 国产主播喷水一区二区| 色的视频在线免费看| 欧美丰满一区二区免费视频| 午夜写真片福利电影网| 国产盗摄视频一区二区三区| 欧美激情亚洲天堂| 粉嫩的18在线观看极品精品| 97精品久久久中文字幕免费| 婷婷在线免费观看| 精品国产成人在线| 成人免费看aa片| 日韩电影一区二区三区四区| 亚洲精品中文字幕在线 | 欧美视频一区二区在线观看| 久久久久久成人网| 麻豆精品国产传媒mv男同| 亚洲在线色站| 国产精区一区二区| 欧美黑人狂野猛交老妇| 手机看片国产1024| 色综合天天综合网天天狠天天| 波多野在线播放| 狠狠色丁香久久婷婷综合_中| 99re6这里有精品热视频| 国产成人tv| 欧美专区日韩视频| 自拍视频在线网| 精品日韩一区二区三区| 久久精品视频1| 中文幕一区二区三区久久蜜桃| 涩涩网站在线看| 亚洲激情另类| 亚洲精品第一区二区三区| 激情久久免费视频| 午夜精品一区二区三区在线播放| 韩国三级av在线免费观看| 欧美精品乱码久久久久久按摩| 久久久久久久久久久久久久免费看| 99热这里都是精品| 日本超碰在线观看| 亚洲经典三级| 影音先锋欧美在线| 青青草这里只有精品| 国产精品看片资源| 国产色婷婷在线| 中文字幕日本欧美| 黄色一级a毛片| 欧美日韩亚州综合| 精品91久久久| 亚洲日本一区二区| av小说在线观看| 国产酒店精品激情| 青青草原av在线播放| 欧美黄免费看| 亚洲.欧美.日本.国产综合在线| 成人自拍在线| 国产精品入口免费视频一| 黄色视屏在线免费观看| 久久网福利资源网站| 久久久久久久久亚洲精品| 日韩欧美一区电影| 一本色道久久综合精品婷婷| 无吗不卡中文字幕| 免费无码毛片一区二区app| 国产亚洲福利社区一区| 波多野结衣影院| 国产风韵犹存在线视精品| 国产一区二区在线观看免费视频| 国产精品一国产精品k频道56| 国产美女作爱全过程免费视频| 成人久久一区| 欧洲精品亚洲精品| 巨人精品**| 国产亚洲精品久久飘花| 欧美黄色一级| 成人精品aaaa网站| 日韩制服诱惑| 国产精品国产三级国产aⅴ9色| 欧美伦理91| 久久久久久com| 婷婷av在线| 欧美另类精品xxxx孕妇| 黄色片免费在线观看| 最新亚洲国产精品| 国产高清在线观看| 亚洲网在线观看| 黄色美女网站在线观看| 亚洲视频在线看| 国产乱视频在线观看| 亚洲视频在线观看免费| 牛牛澡牛牛爽一区二区| 亚洲人成电影网站| 你懂的视频在线播放| 亚洲人成网站免费播放| 免费在线观看污视频| 亚洲欧美制服另类日韩| 九色视频网站在线观看| 亚洲欧洲一区二区三区久久| 国产高清一区在线观看| 中文字幕免费精品一区| 日本中文字幕在线看| 国产一区二区成人| 日本成人网址| 久久国产加勒比精品无码| 日本在线视频中文有码| 欧美激情精品久久久久久大尺度| 欧美韩日亚洲| 久久免费视频网站| 国产精品电影| 国产不卡在线观看| 先锋影音一区二区| 亚洲自拍欧美另类| 加勒比色综合久久久久久久久| 国产精品手机在线| 少妇久久久久| 午夜欧美性电影| 综合色一区二区| av女优在线播放| 青青草国产成人99久久| 午夜啪啪小视频| 成人黄色小视频在线观看| 亚洲国产欧美视频| 中文字幕一区二区三区四区| 欧美激情一区二区视频| 狠狠干狠狠久久| 在线播放成人av| 精品日本一线二线三线不卡| 亚洲欧美综合在线观看| 中文字幕亚洲综合久久筱田步美| 日韩在线资源| 亚州av一区二区| 成人四虎影院| 国产日韩欧美亚洲一区| 欧美日韩黑人| av在线观看地址| 日韩高清国产一区在线| 四虎国产精品免费| 久久蜜桃一区二区| 校园春色 亚洲| 色8久久人人97超碰香蕉987| a网站在线观看| 亚洲欧美日韩高清| 高清电影在线观看免费| 国产精品成人一区二区三区吃奶| 精品国产亚洲日本| 日本一区免费| 黄色av成人| 日韩一级免费片| av在线不卡电影| 国产美女福利视频| 欧美午夜无遮挡| www.日本在线观看| 最好看的2019的中文字幕视频| 国产美女情趣调教h一区二区| 国产精品久久久久久久久久东京 | 三级精品在线观看| www.四虎精品| 1024成人网色www| 在线免费观看av网址| 欧美va亚洲va在线观看蝴蝶网| av基地在线| 欧美孕妇与黑人孕交| 一本一道久久a久久| 婷婷久久青草热一区二区| 在线视频观看日韩| 超碰人人cao| 中文字幕一区二区三区视频| 无码人妻精品一区二| 亚洲国产精品成人av| 成人免费高清| 国产在线拍偷自揄拍精品| 伊人久久大香线蕉综合网蜜芽| r级无码视频在线观看| 国产精品一二三四五| 成人性视频免费看| 在线日韩av片| 日韩资源在线| 欧美性资源免费| 欧美色图婷婷| 国产视频九色蝌蚪| 波多野结衣亚洲一区| 久久久久久久久久久久久久久久久| 欧美一区二区视频在线观看2022 | 亚洲影院天堂中文av色| 97视频在线免费| 国产91对白在线观看九色| 国产三级国产精品国产国在线观看| 欧美视频在线观看一区二区| 大片免费播放在线视频| 国产精品高潮视频| 青青一区二区三区| 无码无遮挡又大又爽又黄的视频| 91在线精品一区二区| wwwxxx亚洲| 精品小视频在线| 五月天国产在线| 青娱乐一区二区| 日韩成人伦理电影在线观看| 亚洲毛片亚洲毛片亚洲毛片| 欧美在线观看你懂的| 日本成人网址| 91九色对白| 亚洲国产二区| av无码av天天av天天爽| 色噜噜久久综合| 在线视频自拍| 91在线色戒在线| 欧美精品三区| 国产精品久久久免费观看| 欧美日在线观看| 岛国在线大片| 91社区国产高清| 红桃视频国产精品| 巨胸大乳www视频免费观看| 在线精品视频一区二区三四| 麻豆网站在线| 国产精品二区三区| 亚洲在线日韩| 亚洲aaa视频| 日韩精品一区二| 亚洲黄色中文字幕| 一本色道婷婷久久欧美| 国产在线一区二区综合免费视频| 久久国产在线观看| 日韩精品黄色网| 精品美女一区| 真人抽搐一进一出视频| 2020国产精品自拍| 一级黄色片在线观看| 欧美激情一二三| 国产麻豆精品久久| 免费人成视频在线播放| 午夜激情久久久| 欧美激情视频在线播放| 国产综合18久久久久久| 青青草国产成人99久久| 国产精品111| 中文字幕视频在线免费欧美日韩综合在线看 | 欧美性开放视频| 伦xxxx在线| 蜜桃成人在线| 国产成人自拍网| 波多野结衣黄色网址| 欧美激情啊啊啊|