精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

色综合色综合色综合 | 日本欧美精品久久久| 四虎成人在线观看| 99久久99热这里只有精品| 日韩欧美区一区二| 日韩视频第二页| 麻豆网站在线| 国产成人综合网| 欧美中文在线观看| 国产免费无码一区二区视频| 天天躁日日躁狠狠躁欧美| 欧美日韩一级片在线观看| 超碰成人免费在线| 97电影在线| 99久久99久久精品国产片果冻| 国产精品九九久久久久久久| 久久免费视频精品| 成人羞羞网站| 亚洲国产精品中文| 国产一级片中文字幕| 欧美成人ⅴideosxxxxx| 亚洲精品ww久久久久久p站| 欧日韩一区二区三区| www.我爱av| 蜜臀av国产精品久久久久| 性金发美女69hd大尺寸| 免费在线观看一级片| 精品盗摄女厕tp美女嘘嘘| 欧美精品一区二区三| 天天干天天玩天天操| 天堂av在线| 一区二区三区四区在线| 亚洲精品一区二区三区蜜桃久| 日本xxxxwww| 国产一区二区三区观看| 国产精品免费久久久| 欧美一级特黄视频| 亚洲精品1234| 欧美裸身视频免费观看| 日本午夜精品视频| 神马电影久久| 日韩极品精品视频免费观看| 精品人妻无码中文字幕18禁| 国产一区二区三区亚洲综合| 欧美三级日韩在线| 亚洲黄色a v| 欧美性理论片在线观看片免费| 婷婷一区二区三区| 国产一区二区三区乱码| 污视频免费在线观看| 最新国产の精品合集bt伙计| 亚洲精品中文字幕乱码三区不卡| 国产大片在线免费观看| 久久久99精品免费观看不卡| 久久综合色一本| 天堂中文在线8| 99久久综合精品| 精品国产综合| 三级在线视频| 久久久久久久国产精品影院| 欧美精品国产精品久久久| 午夜av免费在线观看| 99久久综合国产精品| 久久av免费一区| 欧洲伦理片一区 二区 三区| 久久久久久久网| 日本免费一区二区三区| 91青青在线视频| 国产精品二三区| 久久99国产精品一区| av香蕉成人| 亚洲天堂成人在线观看| 大片在线观看网站免费收看| 青草在线视频| 午夜久久电影网| 国产一区二区三区精彩视频 | 四虎影视2018在线播放alocalhost| www.成人网.com| 欧美日韩一区二区视频在线 | 久久久久久成人精品| 日韩精品视频播放| 日韩黄色免费电影| 91亚洲国产成人精品性色| 亚洲av无码片一区二区三区| 波多野结衣一区二区三区 | 日本在线丨区| 国产精品系列在线| 欧美另类videos| www.超碰在线| 欧美羞羞免费网站| 久久人人爽人人片| 久久99蜜桃| 久久这里有精品| 日韩精品1区2区| 久久99国产精品久久99| 国产伦理久久久| wwwxxx在线观看| 亚洲一区二区精品3399| 日本激情视频在线| 在线综合色站| 伊人久久男人天堂| 国产一级特黄视频| 日韩和的一区二区| 国产精品入口免费| 久久黄色美女电影| 精品成人国产在线观看男人呻吟| caoporn超碰97| 国产精品xxx在线观看| 这里只有精品在线观看| 国产无遮挡免费视频| 久久99精品国产91久久来源| 久久久久久国产精品mv| 97超碰资源站在线观看| 在线影视一区二区三区| 日本久久久久久久久久| 精品免费av| 97在线看福利| 999免费视频| 日本一区二区三区dvd视频在线| 青青青青在线视频| 国产高清亚洲| 中文字幕综合在线| 亚洲永久精品在线观看| 国产一区二区三区免费| 亚洲.欧美.日本.国产综合在线| cao在线视频| 欧美一级xxx| 韩国一级黄色录像| 日本特黄久久久高潮| 久久国产精品免费一区| 欧美韩日亚洲| 日韩一级欧美一级| 99热99这里只有精品| 久久精品动漫| 九九久久99| xxx性欧美| 精品日韩在线观看| 加勒比av在线播放| 国产一区二区影院| 黄频视频在线观看| 日韩黄色三级| 久久久国产精品视频| 11024精品一区二区三区日韩| 欧美国产精品中文字幕| 国内外免费激情视频| 亚洲尤物av| 4438全国成人免费| 日韩黄色影片| 色哟哟欧美精品| 精品无码人妻一区| 久久久久.com| 日韩精品一区二区三区四区五区| 波多野结衣亚洲一二三| 亚洲免费人成在线视频观看| 久久久久久久黄色片| 91网页版在线| 成人在线激情网| 大色综合视频网站在线播放| 国产精品久久久久久久电影| 91caoporn在线| 欧美日韩精品一区二区天天拍小说 | 9i在线看片成人免费| 人人妻人人添人人爽欧美一区| 久久成人福利| 国产v综合v亚洲欧美久久| 国产在线视频资源| 欧美日韩在线一区二区| 日本美女黄色一级片| 国产在线一区观看| www.avtt| 九九在线高清精品视频| 国产精品久久久久免费a∨大胸| 国产高清在线看| 欧美人成免费网站| 久久久精品99| 久久伊人蜜桃av一区二区| 久草福利视频在线| 亚洲国产精品久久久久蝴蝶传媒| 98国产高清一区| 性欧美freesex顶级少妇| 在线视频中文亚洲| 亚洲国产精品成人久久蜜臀| 欧美日韩国产精品| 亚洲黄色网址大全| 成人午夜av影视| 97公开免费视频| 中文精品久久| 久中文字幕一区| 中文字幕综合| 91av免费观看91av精品在线| 在线观看av黄网站永久| 精品国产精品一区二区夜夜嗨| 人妻 日韩精品 中文字幕| 国产精品美女久久久久aⅴ| 国产sm在线观看| 视频一区视频二区中文| 少妇久久久久久被弄到高潮| 国产一区二区三区四区二区| 亚洲japanese制服美女| 亚洲淫成人影院| 欧美成人午夜激情| 极品美乳网红视频免费在线观看 | 天天综合网天天综合| 欧美日韩在线播放三区四区| 亚洲国产精一区二区三区性色| 亚洲国产精品成人久久综合一区| 少妇极品熟妇人妻无码| 免费成人性网站| 青娱乐自拍偷拍| 91精品秘密在线观看| 欧美日韩精品久久| www.爱久久| 91久久久久久| 亚洲第一会所| 欧洲精品久久久| 国产乱妇乱子在线播视频播放网站| 中文字幕日韩av综合精品| 天天操天天干天天| 日韩一级片网站| 国产一区二区在线视频聊天| 一本久久a久久精品亚洲| 久久精品视频6| 亚洲视频免费在线| 成人无码精品1区2区3区免费看 | 欧美一级国产精品| 一区二区三区免费观看视频| 欧洲av一区二区嗯嗯嗯啊| 欧美啪啪小视频| 天天综合日日夜夜精品| 成人免费看片98| 伊人性伊人情综合网| 99精品中文字幕| 中文字幕不卡的av| 亚洲自拍偷拍一区二区| 99久久精品99国产精品| yjizz视频| 大美女一区二区三区| xxxx国产视频| 国产99久久久久| 国产又粗又猛又爽又黄| 国产一区二区在线视频| 久久精品亚洲天堂| 精品一区二区在线观看| 日韩一级免费片| 麻豆精品精品国产自在97香蕉| 亚洲激情在线观看视频| 日本中文字幕不卡| 美女一区二区三区视频| 青青青爽久久午夜综合久久午夜 | 99热播精品免费| 国产精品一二三在线| av成人在线播放| 国产精品一久久香蕉国产线看观看| 成人在线免费电影网站| 国产日韩在线观看av| 91精品麻豆| 亚洲自拍偷拍视频| 一区二区三区四区精品视频| 懂色一区二区三区av片| 第一区第二区在线| 黑人另类av| 欧美猛男做受videos| 亚洲成人自拍| 一区二区在线影院| a级免费在线观看| 午夜一级在线看亚洲| 日韩一级片播放| 国产自产视频一区二区三区| 少妇丰满尤物大尺度写真| 成人美女视频在线观看18| aa片在线观看视频在线播放| 国产日产精品1区| 欧美日韩午夜视频| 亚洲大片免费看| 色一情一乱一伦| 欧美日韩成人在线| 丰满熟妇人妻中文字幕| 亚洲精品影视在线观看| 视频免费一区| 久久久久久久久电影| 久久uomeier| 91久久国产精品91久久性色| 高清精品视频| 日韩av电影免费播放| 久久久久国产精品| 国产中文字幕二区| 青青草原综合久久大伊人精品优势| 久久久久亚洲av无码麻豆| 91性感美女视频| 三级黄色录像视频| 午夜精品久久久久久久久久| 午夜视频网站在线观看| 欧美xxx久久| 成人资源www网在线最新版| 欧美成人精品一区| 345成人影院| 91在线观看免费高清完整版在线观看| 极品束缚调教一区二区网站| 亚洲精品永久www嫩草| 亚洲二区在线| 男人午夜视频在线观看| 久久色在线观看| 在线免费日韩av| 欧美亚洲图片小说| 视频二区在线观看| 精品国产区一区二区三区在线观看| 98色花堂精品视频在线观看| 成人黄色影片在线| 国产精品嫩模av在线| 女人被男人躁得好爽免费视频| 青青国产91久久久久久| 日韩一级视频在线观看| 亚洲精品日日夜夜| 国产精品sm调教免费专区| 亚洲精品福利资源站| a视频在线免费看| 国产精品久久久久7777婷婷| 国产精品流白浆在线观看| 日本特级黄色大片| 日韩国产欧美在线播放| 精品黑人一区二区三区观看时间| 一区二区不卡在线播放 | 欧美激情喷水| 国产伦精品一区二区三区视频免费 | 国产成人高清在线| 91传媒免费观看| 欧美亚洲动漫精品| 国产主播福利在线| 5566日本婷婷色中文字幕97| 97se亚洲国产一区二区三区| 亚洲黄色网址在线观看| 麻豆精品视频在线| 精品日韩在线视频| 日韩欧美一区二区三区| 无码国精品一区二区免费蜜桃| 久久99久久久久久久噜噜| 亚洲三级电影| 亚洲一区二区在线免费观看| 日本女人一区二区三区| x88av在线| 日本韩国一区二区| 国产裸舞福利在线视频合集| 26uuu亚洲伊人春色| 香蕉久久99| 欧美日韩国产精品激情在线播放| av男人天堂一区| 欧美不卡视频在线观看| 日韩精品小视频| 在线免费三级电影网站| 久久久久久国产精品一区| 亚洲一区自拍| 丰腴饱满的极品熟妇| 色狠狠桃花综合| yw在线观看| 国产欧美一区二区三区四区| 99九九热只有国产精品| 在线免费黄色小视频| 亚洲黄色小说网站| 亚洲国产福利视频| 91国产美女在线观看| 秋霞在线一区| 五月婷婷深爱五月| 中文字幕一区不卡| 国产黄色av片| 午夜精品久久久久久久99热| 欧美挤奶吃奶水xxxxx| 欧美私人情侣网站| 欧美国产国产综合| 国产三级第一页| 欧美精品videosex极品1| 欧美18xxxx| 99草草国产熟女视频在线| 国产精品久久久久影院| www.久久伊人| 欧美一级淫片videoshd| 日韩欧美精品综合| 久久精品无码一区二区三区毛片 | 少妇高潮 亚洲精品| 狂野欧美xxxx韩国少妇| 男女私大尺度视频| 国产欧美日韩综合精品一区二区| 91精品国产乱码久久久| 久久久久久久激情视频| 精品香蕉视频| 性猛交╳xxx乱大交| 91黄色免费观看| 在线观看av免费| 欧美午夜精品久久久久免费视| 久久精品99国产精品日本| 国产稀缺真实呦乱在线| 中文字幕精品国产| 成人动态视频| 乌克兰美女av| 亚洲成人午夜电影| 日本中文字幕在线看| 国产一区二区视频在线免费观看| 日本成人中文字幕在线视频| 国产亚洲精品久久久久久打不开| 亚洲人成在线观| 国产欧美一区二区三区米奇|