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

Redis緩存總結:淘汰機制、緩存雪崩、數據不一致....

開發 前端 Redis
在實際的工作項目中, 緩存成為高并發、高性能架構的關鍵組件 ,那么Redis為什么可以作為緩存使用呢?

 https://github.com/Ccww-lx/JavaCommunity

在實際的工作項目中, 緩存成為高并發、高性能架構的關鍵組件 ,那么Redis為什么可以作為緩存使用呢?首先可以作為緩存的兩個主要特征:

  • 在分層系統中處于內存/CPU具有訪問性能良好,

  • 緩存數據飽和,有良好的數據淘汰機制

由于Redis 天然就具有這兩個特征,Redis基于內存操作的,且其具有完善的數據淘汰機制,十分適合作為緩存組件。

其中,基于內存操作,容量可以為32-96GB,且操作時間平均為100ns,操作效率高。而且數據淘汰機制眾多,在Redis 4.0 后就有8種了促使Redis作為緩存可以適用很多場景。

那Redis緩存為什么需要數據淘汰機制呢?有哪8種數據淘汰機制呢?

數據淘汰機制

Redis緩存基于內存實現的,則其緩存其容量是有限的,當出現緩存被寫滿的情況,那么這時Redis該如何處理呢?

Redis對于緩存被寫滿的情況,Redis就需要緩存數據淘汰機制,通過一定淘汰規則將一些數據刷選出來刪除,讓緩存服務可再使用。那么Redis使用哪些淘汰策略進行刷選刪除數據?

在Redis 4.0 之后,Redis 緩存淘汰策略6+2種,包括分成三大類:

  • 不淘汰數據

    • noeviction ,不進行數據淘汰,當緩存被寫滿后,Redis不提供服務直接返回錯誤。

  • 在設置過期時間的鍵值對中,

    • volatile-random ,在設置過期時間的鍵值對中隨機刪除

    • volatile-ttl ,在設置過期時間的鍵值對,基于過期時間的先后進行刪除,越早過期的越先被刪除。

    • volatile-lru , 基于LRU(Least Recently Used) 算法篩選設置了過期時間的鍵值對, 最近最少使用的原則來篩選數據

    • volatile-lfu ,使用 LFU( Least Frequently Used ) 算法選擇設置了過期時間的鍵值對, 使用頻率最少的鍵值對,來篩選數據。

  • 在所有的鍵值對中,

    • allkeys-random, 從所有鍵值對中隨機選擇并刪除數據

    • allkeys-lru, 使用 LRU 算法在所有數據中進行篩選

    • allkeys-lfu, 使用 LFU 算法在所有數據中進行篩選

Note: LRU( 最近最少使用,Least Recently Used)算法, LRU維護一個雙向鏈表 ,鏈表的頭和尾分別表示 MRU 端和 LRU 端,分別代表最近最常使用的數據和最近最不常用的數據。

LRU 算法在實際實現時,需要用鏈表管理所有的緩存數據,這會帶來額外的空間開銷。而且,當有數據被訪問時,需要在鏈表上把該數據移動到 MRU 端,如果有大量數據被訪問,就會帶來很多鏈表移動操作,會很耗時,進而會降低 Redis 緩存性能。

其中,LRU和LFU 基于Redis的對象結構 redisObject 的 lru 和 refcount 屬性實現的:

  1. typedef struct redisObject { 
  2. unsigned type:4
  3. unsigned encoding:4
  4. // 對象最后一次被訪問的時間 
  5. unsigned lru:LRU_BITS; /* LRU time (relative to global lru_clock) or 
  6.                           * LFU data (least significant 8 bits frequency 
  7. // 引用計數               * and most significant 16 bits access time). */ 
  8. int refcount; 
  9. void *ptr; 
  10. } robj; 

Redis 的 LRU 會使用 redisObject 的 lru 記錄最近一次被訪問的時間,隨機選取參數 maxmemory-samples 配置的數量作為候選集合,在其中選擇 lru 屬性值最小的數據淘汰出去。

在實際項目中,那么該如何選擇數據淘汰機制呢?

  • 優先選擇 allkeys-lru 算法,將最近最常訪問的數據留在緩存中,提升應用的訪問性能。

  • 有頂置數據使用 volatile-lru 算法 ,頂置數據不設置緩存過期時間,其他數據設置過期時間,基于LRU 規則進行篩選 。

在理解了Redis緩存淘汰機制后,來看看Redis作為緩存其有多少種模式呢?

Redis緩存模式

Redis緩存模式基于是否接收寫請求,可以分成只讀緩存和讀寫緩存:

只讀緩存:只處理讀操作,所有的更新操作都在數據庫中,這樣數據不會有丟失的風險。

  • Cache Aside模式

讀寫緩存,讀寫操作都在緩存中執行,出現宕機故障,會導致數據丟失。緩存寫回數據到數據庫有分成兩種同步和異步:

  • 同步:訪問性能偏低,其更加側重于保證數據可靠性

  • Read-Throug模式

  • Write-Through模式

  • 異步:有數據丟失風險,其側重于提供低延遲訪問

  • Write-Behind模式

Cache Aside模式

查詢數據先從緩存讀取數據,如果緩存中不存在,則再到數據庫中讀取數據,獲取到數據之后更新到緩存Cache中, 但更新數據操作,會先去更新數據庫種的數據,然后將緩存種的數據失效。

而且Cache Aside模式會存在并發風險:執行讀操作未命中緩存,然后查詢數據庫中取數據,數據已經查詢到還沒放入緩存,同時一個更新寫操作讓緩存失效,然后讀操作再把查詢到數據加載緩存,導致緩存的臟數據。

Read/Write-Throug模式

查詢數據和更新數據都直接訪問緩存服務, 緩存服務同步方式地將數據更新到數據庫 。出現臟數據的概率較低,但是就強依賴緩存,對緩存服務的穩定性有較大要求,但同步更新會導致其性能不好。

Write Behind模式

查詢數據和更新數據都直接訪問緩存服務, 但緩存服務使用異步方式地將數據更新到數據庫(通過異步任務) 速度快,效率會非常高,但是數據的一致性比較差,還可能會有數據的丟失情況,實現邏輯也較為復雜。

在實際項目開發中根據實際的業務場景需求來進行選擇緩存模式。那了解上述后,我們的應用中為什么需要使用到 redis 緩存呢?

在應用使用 Redis 緩存可以提高系統性能和并發,主要體現在

  • 高性能:基于內存查詢,KV結構,簡單邏輯運算

  • 高并發: Mysql 每秒只能支持2000左右的請求, Redis 輕松每秒1W以上。讓80%以上查詢走緩存,20%以下查詢走數據庫,能讓系統吞吐量有很大的提高

雖然使用Redis緩存可以大大提升系統的性能,但是使用了緩存,會出現一些問題,比如,緩存與數據庫雙向不一致、緩存雪崩等,對于出現的這些問題該怎么解決呢?

使用緩存常見的問題

使用了緩存,會出現一些問題,主要體現在:

  • 緩存與數據庫雙寫不一致

  • 緩存雪崩:  Redis 緩存無法處理大量的應用請求,轉移到數據庫層導致數據庫層的壓力激增;

  • 緩存穿透:訪問數據不存在在Redis緩存中和數據庫中,導致大量訪問穿透緩存直接轉移到數據庫導致數據庫層的壓力激增;

  • 緩存擊穿:緩存無法處理高頻熱點數據,導致直接高頻訪問數據庫導致數據庫層的壓力激增;

緩存與數據庫數據不一致

只讀緩存( Cache Aside 模式)

對于 只讀緩存( Cache Aside 模式) ,讀 操作都發生在緩存中 ,數據不一致只會發生在 刪改操作 上(新增操作不會,因為新增只會在數據庫處理),當發生刪改操作時,緩存將數據中標志為無效和更新數據庫。因此在更新數據庫和刪除緩存值的過程中,無論這兩個操作的執行順序誰先誰后,只要有一個操作失敗了就會出現數據不一致的情況。

總結出, 當不存在并發的情況使用重試機制(消息隊列使用),當存在高并發的情況,使用延遲雙刪除(在第一次刪除后,睡眠一定時間后,再進行刪除) ,具體如下:

操作順序 是否高并發 潛在問題 現象 應對方案
先刪除緩存,再更新數據庫 緩存刪除成功,數據庫更新失敗 讀到數據庫的舊值 重試機制(數據庫更新)
先更新數據庫,再刪除緩存 數據庫更新成功,緩存刪除失敗 讀到緩存的舊值 重試機制(緩存刪除)
先刪除緩存,再更新數據庫 緩存刪除后,尚未更新數據庫,有并發讀請求 并發讀請求讀到數據庫舊值,并更新到緩存,導致之后的讀請求讀到舊值 延遲雙刪()
先更新數據庫,再刪除緩存 數據庫更新成功,尚未刪除緩存 讀到緩存的舊值 不一致的情況短暫存在,對業務影響較小

NOTE:

延遲雙刪除偽代碼:

  1. redis.delKey(X) 
  2. db.update(X) 
  3. Thread.sleep(N) 
  4. redis.delKey(X) 

讀寫緩存(Read/Write-Throug、Write Behind模式 )

對于讀寫緩存,寫操作都發生在緩存中,后再更新數據庫,只要有一個操作失敗了就會出現數據不一致的情況。

總結出,當不存在并發的情況使用重試機制(消息隊列使用),當存在高并發的情況,使用分布鎖。具體如下:

操作順序 是否高    并發 潛在問題 現象 應對方案
先更新緩存,再更新數據庫 緩存更新成功,數據庫更新失敗 會從緩存中讀到最新值,短期影響不大 重試機制(數據庫更新)
先更新數據庫,再更新緩存 數據庫更新成功,緩存更新失敗 會從緩存讀到舊值 重試機制(緩存刪除)
先更新數據庫,再更新緩存 寫+讀并發 線程A先更新數據庫,之后線程B讀取數據,之后線程A更新緩存 B會命中緩存,讀取到舊值 A更新緩存前,對業務有短暫影響
先更新緩存,再更新數據庫 寫+讀并發 線程A先更新緩存成功,之后線程B讀取數據,此時線程B命中緩存,讀取到最新值后返回,之后線程A更新數據庫成功 B會命中緩存,讀取到最新值 業務沒影響
先更新數據庫,再更新緩存 寫+寫并發 線程A和線程B同時更新同一條數據,更新數據庫的順序是先A后B,但更新緩存時順序是先B后A,這會導致數據庫和緩存的不一致 數據庫和緩存的不一致 寫操作加分布式鎖
先更新緩存,再更新數據庫 寫+寫并發 線程A和線程B同時更新同一條數據,更新緩存的順序是先A后B,但是更新數據庫的順序是先B后A,這也會導致數據庫和緩存的不一致 數據庫和緩存的不一致 寫操作加分布式鎖

緩存雪崩

緩存雪崩,由于緩存中有大量數據同時過期失效或者緩存出現宕機,大量的應用請求無法在 Redis 緩存中進行處理,進而發送到數據庫層導致數據庫層的壓力激增,嚴重的會造成數據庫宕機。

對于緩存中有大量數據同時過期,導致大量請求無法得到處理, 解決方式:

  • 數據預熱, 將發生大并發訪問前手動觸發加載緩存不同的key, 可以避免在用戶請求的時候,先查詢數據庫

  • 設置不同的過期時間,讓緩存失效的時間點盡量均勻

  • 雙層緩存策略, 在原始緩存上加上拷貝緩存,原始緩存失效時可以訪問拷貝緩存,且原始緩存失效時間設置為短期,拷貝緩存設置為長期

  • 服務降級 , 發生緩存雪崩時,針對不同的數據采取不同的降級方案,比如,非核心數據直接返回預定義信息、空值或是錯誤信息

對于緩存出現宕機,解決方式:

  • 業務系統中實現服務熔斷或請求限流機制,防止大量訪問導致數據庫出現宕機

緩存穿透

緩存穿透,數據在數據庫和緩存中都不存在,這樣就導致查詢數據,在緩存中找不到對應 key 的 value ,都要去數據庫再查詢一遍,然后返回空(相當于進行了兩次無用的查詢)。

當有大量訪問請求,且其繞過緩存直接查數據庫,導致數據庫層的壓力激增,嚴重的會造成數據庫宕機。

對于緩存穿透,解決方式:

  • 緩存空值或缺省值,當一個查詢返回的數據為空時, 空結果也將進行緩存,并將它的過期時間設置比較短,下次訪問直接從緩存中取值,避免了把大量請求發送給數據庫處理,造成數據庫出問題。

  • 布隆過濾器( BloomFilter ),將所有可能查詢數據 key 哈希到一個足夠大的 bitmap 中 , 在查詢的時候先去 BloomFilter 去查詢 key 是否存在,如果不存在就直接返回,存在再去查詢緩存,緩存中沒有再去查詢數據庫 ,從而避免了數據庫層的壓力激增出現宕機。

緩存擊穿

緩存擊穿,針對某個訪問非常頻繁的熱點數據過期失效,導致訪問無法在緩存中進行處理,進而會有導致大量的直接請求數據庫,從而使得數據庫層的壓力激增,嚴重的會造成數據庫宕機。

對于緩存擊穿,解決方式:

  • 不設置過期時間,對于訪問特別頻繁的熱點數據,不設置過期時間。

總結

在大多數業務場景下,Redis緩存作為只讀緩存使用。針對只讀緩存來說, 優先使用先更新數據庫再刪除緩存的方法保證數據一致性 。

其中,緩存雪崩,緩存穿透,緩存擊穿三大問題的原因和解決方式

問題 原因 解決方式
緩存雪崩

大量數據同時過期失

效緩存出現宕機

數據預熱

設置不同的過期時間

雙層緩存策略

服務降級

服務熔斷

限流機制

緩存穿透 數據在數據庫和緩存中都不存在

緩存空值或缺省

值布隆過濾器( BloomFilter )

緩存擊穿 訪問非常頻繁的熱點數據過期失效 對于訪問特別頻繁的熱點數據,不設置過期時間

 

責任編輯:張燕妮 來源: Ccww技術博客
相關推薦

2018-07-15 08:18:44

緩存數據庫數據

2021-04-18 15:01:56

緩存系統數據

2024-05-11 07:37:43

數據Redis策略

2025-04-08 09:00:00

數據庫緩存架構

2021-12-26 14:32:11

緩存數據庫數據

2022-12-13 08:15:42

緩存數據競爭

2023-04-14 07:34:19

2019-03-27 13:56:39

緩存雪崩穿透

2019-08-07 10:25:41

數據庫緩存技術

2019-10-12 14:19:05

Redis數據庫緩存

2023-03-10 13:33:00

緩存穿透緩存擊穿緩存雪崩

2017-06-20 09:42:52

網絡安全法數據隱私法網絡安全

2024-04-11 13:45:14

Redis數據庫緩存

2020-05-12 10:43:22

Redis緩存數據庫

2019-02-13 11:04:42

系統緩存軟件

2021-06-05 09:01:01

Redis緩存雪崩緩存穿透

2025-04-03 09:51:37

2020-06-01 22:09:48

緩存緩存同步緩存誤用

2022-12-14 08:23:30

2022-03-08 00:07:51

緩存雪崩數據庫
點贊
收藏

51CTO技術棧公眾號

久久美女福利视频| 久久精品国产综合精品| 欧美激情图片小说| 国产成人精品亚洲线观看| 亚洲综合无码一区二区| 欧美人与性禽动交精品| 一级欧美一级日韩| 亚洲美女啪啪| 久久久91精品国产| 超碰97在线资源站| 欧美一区=区三区| 亚洲成人一区二区| 亚洲一区二区三区色| 亚洲国产www| 日韩黄色免费电影| 久久99精品久久久久久噜噜| 精品人伦一区二区三电影| 91精品国产一区二区在线观看| 精品国产电影一区| 中文字幕中文字幕99| 香蕉视频黄色片| 国产一区二区三区不卡在线观看| 欧美理论电影在线播放| 国产馆在线观看| 美女视频亚洲色图| 日韩一区二区不卡| 爱情岛论坛亚洲首页入口章节| 黄色成人在线网| 亚洲人成网站在线| 日本一区二区三区视频在线观看| 免费国产黄色片| 精品一区二区三区在线播放 | 久久午夜精品一区二区| 欧美精品手机在线| 免费91在线观看| 国产精品视频一区二区三区四蜜臂| 欧美va亚洲va在线观看蝴蝶网| 亚洲黄色小视频在线观看| 一本大道色婷婷在线| 亚洲一区二区三区爽爽爽爽爽| 中文字幕一区二区三区乱码| 国产视频二区在线观看| 99精品欧美一区二区三区小说 | 亚洲一区二区三区视频在线 | 欧美xxxx视频| 中文字幕一区二区三中文字幕| 欧美极品色图| 视频午夜在线| 国产99精品视频| 97国产超碰| 丁香六月天婷婷| 国产91精品一区二区麻豆网站| 91精品中文在线| 91精品国自产| 国产真实乱子伦精品视频| 国产在线视频91| 国产又黄又粗又猛又爽| 狠狠色综合日日| 亚洲一区二区久久久久久| 国产精品美女一区| 国产精品99久久久久久久女警| 亚洲精品日韩激情在线电影| 精品毛片在线观看| 国产精品自拍在线| 成人性色av| 欧美视频xxx| 91在线国产福利| 欧美亚洲精品日韩| 成人福利在线| 亚洲欧美影音先锋| 欧美视频在线第一页| 日韩三级免费| 午夜精品影院在线观看| 欧美精品99久久| 欧美暴力调教| 这里只有精品99re| 逼特逼视频在线观看| 久久综合五月婷婷| 亚洲欧美国产制服动漫| 国产99在线 | 亚洲| 999视频精品| 欧美激情精品在线| 99久久精品国产亚洲| 日韩黄色片在线观看| 亚洲wwwav| 深夜视频在线免费| 欧美激情一区二区三区| 亚洲区成人777777精品| av剧情在线观看| 欧美在线一区二区三区| 久久人人爽人人片| 偷拍一区二区| 久久亚洲欧美日韩精品专区| 日本一级一片免费视频| 免费人成在线不卡| 成人xxxxx色| 国产精品久久久久一区二区国产| 亚洲欧美视频在线观看视频| 99久久国产综合精品五月天喷水| 国产精品99精品一区二区三区∴| 日韩精品一区在线| 中文字幕人妻一区二区三区在线视频| 婷婷中文字幕一区| 欧美亚洲激情在线| a天堂在线视频| 国产日韩精品视频一区| 超级碰在线观看| 韩日一区二区| 日韩精品免费在线播放| 永久久久久久久| 日日夜夜一区二区| 国产精品亚洲综合| 婷婷激情在线| 色哟哟国产精品| 国产精品一区二区在线免费观看| 日韩精品首页| 日本亚洲精品在线观看| www.爱爱.com| 亚洲欧洲日韩av| 九九视频精品在线观看| 久久porn| 欧美激情视频网| 97在线播放免费观看| 国产视频视频一区| 欧美变态另类刺激| 91蜜桃臀久久一区二区| 日韩有码在线视频| 一级久久久久久| 久久亚洲精品国产精品紫薇| 久久99中文字幕| 北条麻妃在线一区二区免费播放| 久久精品国产久精国产思思| 亚洲精品一区二区二区| 91免费看`日韩一区二区| 国产精品一色哟哟| 日韩在线成人| 欧美猛交免费看| 国产日韩精品suv| 亚洲男人天堂一区| 国产成人美女视频| 久久综合国产| 国产日本欧美一区二区三区在线 | 久久久综合精品| 男人插女人视频在线观看| 欧美午夜在线播放| 超薄丝袜一区二区| av手机免费看| 亚洲精品视频免费观看| 国产精品igao网网址不卡| 91精品啪在线观看国产18| 成人网在线视频| 激情影院在线观看| 884aa四虎影成人精品一区| 污污视频网站在线免费观看| 蜜臀a∨国产成人精品| 亚洲图片小说在线| 国产精久久久| 色综合五月天导航| 亚洲精品久久久久久动漫器材一区| 亚洲精选视频在线| 男插女视频网站| 欧美另类亚洲| 久久久人人爽| 免费观看成人性生生活片| 一本一本久久a久久精品综合小说| 无码人妻精品一区二区三区9厂| 国产亚洲欧美在线| 少妇一级淫免费播放| 91精品啪在线观看国产18| av资源站久久亚洲| 欧美亚洲日本精品| 一个色综合导航| 国产又粗又长视频| 亚洲一区在线视频观看| 国产精品嫩草av| 日韩二区在线观看| 超碰成人在线免费观看| 福利在线一区| 国产精品99久久久久久白浆小说| 91短视频版在线观看www免费| 91麻豆精品国产自产在线观看一区 | jizzjizz国产精品喷水| 欧美日韩国产一区二区三区不卡| 成人a在线观看| 成人在线高清免费| 亚洲天堂av女优| 999精品国产| 日韩欧美主播在线| 动漫性做爰视频| 91视频在线看| 亚洲天堂伊人网| 日韩一级精品| 一区二区国产日产| 久久超级碰碰| 成人美女av在线直播| segui88久久综合9999| 国产亚洲xxx| 国精产品乱码一区一区三区四区| 在线欧美日韩精品| 九九热视频精品| 国产精品丝袜黑色高跟| 在线观看成人动漫| 免费在线看一区| av免费观看大全| 999久久久91| 欧美在线视频一区二区三区| 日韩激情精品| 国产精品精品视频一区二区三区| 俺来也官网欧美久久精品| 在线精品91av| 精品无人乱码| 精品久久一区二区三区| 一二三四区在线| 欧美午夜激情小视频| 欧美人妻精品一区二区免费看| 国产欧美日韩麻豆91| 国产不卡一二三| 国产精品资源网| 中文字幕在线综合| 鲁大师成人一区二区三区| 精品久久久久久无码中文野结衣| 色喇叭免费久久综合网| 欧美在线播放一区二区| 国内露脸中年夫妇交换精品| 97超碰最新| 国产亚洲观看| 成人免费视频97| 成人自拍视频网| 国产精品电影网| 成人av观看| 97在线免费视频| mm视频在线视频| 久久免费精品视频| 色呦呦视频在线观看| 久久精品国产一区二区三区| 番号集在线观看| 一区二区三区高清国产| 人成在线免费视频| 亚洲理论在线a中文字幕| 涩涩视频免费看| 亚洲成人精品在线| 蜜臀久久久久久999| 精品国精品自拍自在线| www五月婷婷| 日韩网站在线看片你懂的| 国产精品欧美综合亚洲| 欧美一区二区在线看| 国产乱人乱偷精品视频| 91精品国产91久久久久久最新毛片| 一级特黄aaa大片| 91精品婷婷国产综合久久 | 日韩精品一区国产麻豆| www国产一区| 精品sm捆绑视频| 五月天婷婷在线播放| 亚洲精品v天堂中文字幕| 天天干天天草天天射| 日韩av综合网站| 人成在线免费视频| 在线精品国产欧美| 国产在线观看免费麻豆| 欧美成人精品xxx| 秋霞在线视频| 国产69精品久久久久久| 日本免费久久| 成人午夜在线观看| 日韩一区网站| 欧美1o一11sex性hdhd| 成人一区而且| 中文字幕一区二区三区四区五区人| 亚洲精品a级片| 蜜臀精品一区二区| 久久xxxx| 超碰中文字幕在线观看| www..com久久爱| www.99热| 一区二区三区精品| 在线观看国产亚洲| 欧美少妇xxx| 精品免费久久久| 亚洲精品自拍偷拍| 97最新国自产拍视频在线完整在线看| 欧美成人在线免费视频| 咪咪网在线视频| 国产精品女人久久久久久| 欧美精品影院| 欧美一区激情视频在线观看| 一个色综合网| 国产av无码专区亚洲精品| 国内精品免费在线观看| 在线天堂www在线国语对白| 国产女人aaa级久久久级| 日韩一区二区三区四区在线| 色综合咪咪久久| 99热这里只有精品66| 精品亚洲aⅴ在线观看| av在线影院| 国产精品99久久99久久久二8| 亚洲va欧美va人人爽成人影院| 牛人盗摄一区二区三区视频| 亚洲最新色图| 美女黄色片视频| 99免费精品视频| 9999热视频| 91福利社在线观看| 欧美一级特黄aaaaaa| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 性欧美高清come| 国产精品国产三级国产aⅴ浪潮 | 欧美一区在线视频| 九色在线免费| 国外成人性视频| 国产精一区二区| 午夜视频久久久| 国产情侣一区| 日本美女视频网站| 自拍av一区二区三区| 中文字幕在线日本| 亚洲第一网站免费视频| 亚洲婷婷噜噜| 91久久精品国产91久久| 欧美激情在线精品一区二区三区| 99久久免费观看| 激情六月婷婷久久| 精品一区二区三区蜜桃在线| 欧美日韩一区二区在线播放| 成人午夜免费在线观看| 久久综合五月天| 亚洲午夜国产成人| 亚洲国产精品一区在线观看不卡 | 国产精品福利在线观看| 婷婷成人在线| 国产午夜福利100集发布| 粉嫩av一区二区三区粉嫩| 日韩成人短视频| 欧美日韩国产成人在线91| а√天堂中文在线资源bt在线| 欧美中文字幕精品| 日韩影视高清在线观看| 久久亚洲中文字幕无码| 成人丝袜视频网| 国产在线综合网| 精品少妇一区二区三区免费观看| 操你啦在线视频| 99精彩视频| 激情av一区| 亚洲图片综合网| 偷窥少妇高潮呻吟av久久免费| 手机在线不卡av| 欧美一区在线直播| 精品国产不卡| 91香蕉视频导航| 国产精品大尺度| 国产精品视频一二区| 欧美精品一区二区免费| 欧美中文高清| 18黄暴禁片在线观看| 99久免费精品视频在线观看 | 色婷婷视频在线观看| 电影午夜精品一区二区三区| 一区视频在线看| 日本黄色网址大全| 欧美午夜精品久久久久久超碰 | 热re91久久精品国99热蜜臀| 国产成人手机高清在线观看网站| 男人舔女人下面高潮视频| 国产女主播一区| 国产精品久久久久久69| 欧美第一黄网免费网站| 精品五月天堂| 色婷婷狠狠18| 亚洲制服丝袜在线| 天堂在线视频免费观看| 日韩美女视频中文字幕| 久久伦理在线| 中文字幕99页| 在线观看亚洲专区| 亚洲资源一区| 久草精品电影| 老鸭窝一区二区久久精品| 精国产品一区二区三区a片| 亚洲精品美女久久| 国产美女久久| 免费无码毛片一区二三区| 国产色91在线| 精品人妻av一区二区三区| 欧美中在线观看| 亚洲久久久久| 极品人妻一区二区三区| 在线综合视频播放| 国产精品伦理| 国产女教师bbwbbwbbw| 久久综合久久99| a毛片在线免费观看| 国产成人av网址| 欧美日韩蜜桃| 日本免费网站视频| 国产丝袜一区视频在线观看| 国产不卡精品| 一区二区成人网|