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

爛大街的緩存穿透、緩存擊穿和緩存雪崩,你真的懂了?

開發 后端
對于從事后端開發的同學來說,緩存已經變成的項目中必不可少的技術之一。今天我們一起聊聊如果在項目中引入了緩存,可能會給我們帶來的下面這三大問題。看看你中招了沒?

[[441985]]

前言

對于從事后端開發的同學來說,緩存已經變成的項目中必不可少的技術之一。

沒錯,緩存能給我們系統顯著的提升性能。但如果你使用不好,或者缺乏相關經驗,它也會帶來很多意想不到的問題。

今天我們一起聊聊如果在項目中引入了緩存,可能會給我們帶來的下面這三大問題。看看你中招了沒?

1. 緩存穿透問題

大部分情況下,加緩存的目的是:為了減輕數據庫的壓力,提升系統的性能。

1.1 我們是如何用緩存的?

一般情況下,如果有用戶請求過來,先查緩存,如果緩存中存在數據,則直接返回。如果緩存中不存在,則再查數據庫,如果數據庫中存在,則將數據放入緩存,然后返回。如果數據庫中也不存在,則直接返回失敗。

流程圖如下:

上面的這張圖小伙們肯定再熟悉不過了,因為大部分緩存都是這樣用的。

1.2 什么是緩存穿透?

但如果出現以下這兩種特殊情況,比如:

用戶請求的id在緩存中不存在。

惡意用戶偽造不存在的id發起請求。

這樣的用戶請求導致的結果是:每次從緩存中都查不到數據,而需要查詢數據庫,同時數據庫中也沒有查到該數據,也沒法放入緩存。也就是說,每次這個用戶請求過來的時候,都要查詢一次數據庫。

圖中標紅的箭頭表示每次走的路線。

很顯然,緩存根本沒起作用,好像被穿透了一樣,每次都會去訪問數據庫。

這就是我們所說的:緩存穿透問題。

如果此時穿透了緩存,而直接數據庫的請求數量非常多,數據庫可能因為扛不住壓力而掛掉。嗚嗚嗚。

那么問題來了,如何解決這個問題呢?

1.3 校驗參數

我們可以對用戶id做檢驗。

比如你的合法id是15xxxxxx,以15開頭的。如果用戶傳入了16開頭的id,比如:16232323,則參數校驗失敗,直接把相關請求攔截掉。這樣可以過濾掉一部分惡意偽造的用戶id。

1.4 布隆過濾器

如果數據比較少,我們可以把數據庫中的數據,全部放到內存的一個map中。

這樣能夠非常快速的識別,數據在緩存中是否存在。如果存在,則讓其訪問緩存。如果不存在,則直接拒絕該請求。

但如果數據量太多了,有數千萬或者上億的數據,全都放到內存中,很顯然會占用太多的內存空間。

那么,有沒有辦法減少內存空間呢?

答:這就需要使用布隆過濾器了。

布隆過濾器底層使用bit數組存儲數據,該數組中的元素默認值是0。

布隆過濾器第一次初始化的時候,會把數據庫中所有已存在的key,經過一些列的hash算法(比如:三次hash算法)計算,每個key都會計算出多個位置,然后把這些位置上的元素值設置成1。

之后,有用戶key請求過來的時候,再用相同的hash算法計算位置。

  • 如果多個位置中的元素值都是1,則說明該key在數據庫中已存在。這時允許繼續往后面操作。
  • 如果有1個以上的位置上的元素值是0,則說明該key在數據庫中不存在。這時可以拒絕該請求,而直接返回。

使用布隆過濾器確實可以解決緩存穿透問題,但同時也帶來了兩個問題:

  1. 存在誤判的情況。
  2. 存在數據更新問題。

先看看為什么會存在誤判呢?

上面我已經說過,初始化數據時,針對每個key都是通過多次hash算法,計算出一些位置,然后把這些位置上的元素值設置成1。

但我們都知道hash算法是會出現hash沖突的,也就是說不通的key,可能會計算出相同的位置。

上圖中的下標為2的位置就出現了hash沖突,key1和key2計算出了一個相同的位置。

如果有幾千萬或者上億的數據,布隆過濾器中的hash沖突會非常明顯。

如果某個用戶key,經過多次hash計算出的位置,其元素值,恰好都被其他的key初始化成了1。此時,就出現了誤判,原本這個key在數據庫中是不存在的,但布隆過濾器確認為存在。

如果布隆過濾器判斷出某個key存在,可能出現誤判。如果判斷某個key不存在,則它在數據庫中一定不存在。

通常情況下,布隆過濾器的誤判率還是比較少的。即使有少部分誤判的請求,直接訪問了數據庫,但如果訪問量并不大,對數據庫影響也不大。

此外,如果想減少誤判率,可以適當增加hash函數,圖中用的3次hash,可以增加到5次。

其實,布隆過濾器最致命的問題是:如果數據庫中的數據更新了,需要同步更新布隆過濾器。但它跟數據庫是兩個數據源,就可能存在數據不一致的情況。

比如:數據庫中新增了一個用戶,該用戶數據需要實時同步到布隆過濾。但由于網絡異常,同步失敗了。

這時剛好該用戶請求過來了,由于布隆過濾器沒有該key的數據,所以直接拒絕了該請求。但這個是正常的用戶,也被攔截了。

很顯然,如果出現了這種正常用戶被攔截了情況,有些業務是無法容忍的。所以,布隆過濾器要看實際業務場景再決定是否使用,它幫我們解決了緩存穿透問題,但同時了帶來了新的問題。

1.5 緩存空值

上面使用布隆過濾器,雖說可以過濾掉很多不存在的用戶id請求。但它除了增加系統的復雜度之外,會帶來兩個問題:

布隆過濾器存在誤殺的情況,可能會把少部分正常用戶的請求也過濾了。

如果用戶信息有變化,需要實時同步到布隆過濾器,不然會有問題。

所以,通常情況下,我們很少用布隆過濾器解決緩存穿透問題。其實,還有另外一種更簡單的方案,即:緩存空值。

當某個用戶id在緩存中查不到,在數據庫中也查不到時,也需要將該用戶id緩存起來,只不過值是空的。這樣后面的請求,再拿相同的用戶id發起請求時,就能從緩存中獲取空數據,直接返回了,而無需再去查一次數據庫。

優化之后的流程圖如下:

關鍵點是不管從數據庫有沒有查到數據,都將結果放入緩存中,只是如果沒有查到數據,緩存中的值是空的罷了。

2. 緩存擊穿問題

2.1 什么是緩存擊穿?

有時候,我們在訪問熱點數據時。比如:我們在某個商城購買某個熱門商品。

為了保證訪問速度,通常情況下,商城系統會把商品信息放到緩存中。但如果某個時刻,該商品到了過期時間失效了。

此時,如果有大量的用戶請求同一個商品,但該商品在緩存中失效了,一下子這些用戶請求都直接懟到數據庫,可能會造成瞬間數據庫壓力過大,而直接掛掉。

流程圖如下:

那么,如何解決這個問題呢?

2.2 加鎖

數據庫壓力過大的根源是,因為同一時刻太多的請求訪問了數據庫。

如果我們能夠限制,同一時刻只有一個請求才能訪問某個productId的數據庫商品信息,不就能解決問題了?

答:沒錯,我們可以用加鎖的方式,實現上面的功能。

偽代碼如下:

  1. try { 
  2.   String result = jedis.set(productId, requestId, "NX""PX", expireTime); 
  3.   if ("OK".equals(result)) { 
  4.     return queryProductFromDbById(productId); 
  5.   } 
  6. } finally{ 
  7.     unlock(productId,requestId); 
  8. }   
  9. return null

在訪問數據庫時加鎖,防止多個相同productId的請求同時訪問數據庫。

然后,還需要一段代碼,把從數據庫中查詢到的結果,又重新放入緩存中。辦法挺多的,在這里我就不展開了。

2.3 自動續期

出現緩存擊穿問題是由于key過期了導致的。那么,我們換一種思路,在key快要過期之前,就自動給它續期,不就OK了?

答:沒錯,我們可以用job給指定key自動續期。

比如說,我們有個分類功能,設置的緩存過期時間是30分鐘。但有個job每隔20分鐘執行一次,自動更新緩存,重新設置過期時間為30分鐘。

這樣就能保證,分類緩存不會失效。

此外,在很多請求第三方平臺接口時,我們往往需要先調用一個獲取token的接口,然后用這個token作為參數,請求真正的業務接口。一般獲取到的token是有有效期的,比如24小時之后失效。

如果我們每次請求對方的業務接口,都要先調用一次獲取token接口,顯然比較麻煩,而且性能不太好。

這時候,我們可以把第一次獲取到的token緩存起來,請求對方業務接口時從緩存中獲取token。

同時,有一個job每隔一段時間,比如每隔12個小時請求一次獲取token接口,不停刷新token,重新設置token的過期時間。

2.4 緩存不失效

此外,對于很多熱門key,其實是可以不用設置過期時間,讓其永久有效的。

比如參與秒殺活動的熱門商品,由于這類商品id并不多,在緩存中我們可以不設置過期時間。

在秒殺活動開始前,我們先用一個程序提前從數據庫中查詢出商品的數據,然后同步到緩存中,提前做預熱。

等秒殺活動結束一段時間之后,我們再手動刪除這些無用的緩存即可。

3. 緩存雪崩問題

3.1 什么是緩存雪崩?

前面已經聊過緩存擊穿問題了。

而緩存雪崩是緩存擊穿的升級版,緩存擊穿說的是某一個熱門key失效了,而緩存雪崩說的是有多個熱門key同時失效。看起來,如果發生緩存雪崩,問題更嚴重。

緩存雪崩目前有兩種:

  1. 有大量的熱門緩存,同時失效。會導致大量的請求,訪問數據庫。而數據庫很有可能因為扛不住壓力,而直接掛掉。
  2. 緩存服務器down機了,可能是機器硬件問題,或者機房網絡問題。總之,造成了整個緩存的不可用。

歸根結底都是有大量的請求,透過緩存,而直接訪問數據庫了。

那么,要如何解決這個問題呢?

3.2 過期時間加隨機數

為了解決緩存雪崩問題,我們首先要盡量避免緩存同時失效的情況發生。

這就要求我們不要設置相同的過期時間。

可以在設置的過期時間基礎上,再加個1~60秒的隨機數。

  1. 實際過期時間 = 過期時間 + 1~60秒的隨機數 

這樣即使在高并發的情況下,多個請求同時設置過期時間,由于有隨機數的存在,也不會出現太多相同的過期key。

3.3 高可用

針對緩存服務器down機的情況,在前期做系統設計時,可以做一些高可用架構。

比如:如果使用了redis,可以使用哨兵模式,或者集群模式,避免出現單節點故障導致整個redis服務不可用的情況。

使用哨兵模式之后,當某個master服務下線時,自動將該master下的某個slave服務升級為master服務,替代已下線的master服務繼續處理請求。

3.4 服務降級

如果做了高可用架構,redis服務還是掛了,該怎么辦呢?

這時候,就需要做服務降級了。

我們需要配置一些默認的兜底數據。

程序中有個全局開關,比如有10個請求在最近一分鐘內,從redis中獲取數據失敗,則全局開關打開。后面的新請求,就直接從配置中心中獲取默認的數據。

當然,還需要有個job,每隔一定時間去從redis中獲取數據,如果在最近一分鐘內可以獲取到兩次數據(這個參數可以自己定),則把全局開關關閉。后面來的請求,又可以正常從redis中獲取數據了。

需要特別說一句,該方案并非所有的場景都適用,需要根據實際業務場景決定。

 

責任編輯:姜華 來源: 蘇三說技術
相關推薦

2019-11-05 14:24:31

緩存雪崩框架

2019-10-12 14:19:05

Redis數據庫緩存

2023-03-10 13:33:00

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

2021-06-05 09:01:01

Redis緩存雪崩緩存穿透

2020-03-16 14:57:24

Redis面試雪崩

2024-03-12 10:44:42

2022-03-08 00:07:51

緩存雪崩數據庫

2022-05-27 07:57:20

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

2022-11-18 14:34:28

2025-06-30 01:55:00

2023-11-10 14:58:03

2023-04-14 07:34:19

2022-07-11 07:36:36

緩存緩存雪崩緩存擊穿

2020-10-13 07:44:40

緩存雪崩 穿透

2023-12-06 13:38:00

Redis緩存穿透緩存擊穿

2020-03-05 09:09:18

緩存原因方案

2020-12-28 12:37:36

緩存擊穿穿透

2020-10-23 10:46:03

緩存雪崩擊穿

2024-04-07 00:00:02

Redis雪崩緩存

2024-04-18 11:43:28

緩存數據庫Redis
點贊
收藏

51CTO技術棧公眾號

亚洲午夜精品久久久久久性色| 亚洲一区二区3| 91亚洲国产成人精品性色| 印度午夜性春猛xxx交| 97久久超碰| 懂色av一区二区三区| 亚洲国产精品一区二区第一页| 国产夫妻在线观看| 国产精品久久777777毛茸茸 | 午夜精品久久| 精品视频在线播放免| mm131国产精品| freexxx性亚洲精品| 国产精品入口麻豆九色| 国产传媒欧美日韩| 中文字幕日韩国产| 亚洲另类视频| 久久在线精品视频| 亚洲一区二区三区蜜桃| 秋霞一区二区三区| 欧美午夜影院一区| 国产乱子伦农村叉叉叉| 男人的天堂在线视频免费观看| 99久久免费国产| 91色在线视频| 波多野结衣一区二区三区在线 | 日韩 欧美 综合| 国产精品成人av| 亚洲欧美国产精品| 绯色av蜜臀vs少妇| 欧美电影在线观看网站| 欧美日韩国产一区在线| 欧美日韩dvd| 日本在线播放| 欧美国产精品一区| 麻豆91av| 天堂在线资源网| 国产99久久久精品| 91免费国产网站| 在线播放精品视频| 视频一区在线视频| 77777亚洲午夜久久多人| 精品无码人妻一区二区三区品 | 天堂av在线中文| 午夜在线免费观看视频| 久久精品免视看| 久久婷婷人人澡人人喊人人爽| 亚洲成a人片77777精品| 久久99国产乱子伦精品免费| 国产激情综合五月久久| 91video| 亚洲欧洲一级| 久久久免费观看| 麻豆成人在线视频| 午夜精品电影| 久久久久久久久久久久av| 国产av无码专区亚洲av毛网站| 天天综合精品| 大量国产精品视频| 少妇久久久久久被弄高潮| 一区二区中文| 久青草国产97香蕉在线视频| 波多野结衣不卡视频| 一区二区三区毛片免费| 美女精品视频一区| 久久久精品一区二区涩爱| 欧美日韩1区2区3区| 欧美国产乱视频| 国产一级在线免费观看| 在线免费观看欧美| 欧美亚洲另类制服自拍| 中文字幕精品视频在线观看| 蜜桃视频免费观看一区| 亚洲综合视频1区| 国产91免费在线观看| 99久久精品国产精品久久| 久久综合九九| 日本在线免费播放| 亚洲午夜一区二区| 国产av无码专区亚洲精品| 国产一区一一区高清不卡| 欧美日韩精品三区| 精品人妻一区二区三| 久久久免费毛片| 国产香蕉一区二区三区在线视频| 又嫩又硬又黄又爽的视频| 午夜电影亚洲| 欧美在线亚洲一区| 6—12呦国产精品| 国产 欧美在线| 日本不卡在线观看| 最新黄网在线观看| 天天综合日日夜夜精品| 国产原创精品在线| 国产66精品| 夜夜躁日日躁狠狠久久88av| 国产suv一区二区三区| 夜夜嗨一区二区三区| 国产精品99久久久久久久久| 国产sm主人调教女m视频| 91麻豆成人久久精品二区三区| 天堂资源在线亚洲资源| 国产成人无吗| 日本高清成人免费播放| 激情久久综合网| 一区二区美女| 欧美伦理91i| 免费观看日批视频| 成人爽a毛片一区二区免费| 欧美一区二区福利| 亚洲区欧洲区| 欧美日产国产精品| 中文在线一区二区三区| 91超碰国产精品| 日韩av三级在线观看| 精品人妻一区二区三区含羞草 | 永久av免费网站| 亚洲欧美春色| 国产精品区一区二区三在线播放 | 亚洲精品小区久久久久久| 日韩小视频在线观看| 亚洲免费黄色网址| 国产99久久久国产精品| 欧美aaa在线观看| 麻豆精品蜜桃| 精品亚洲国产视频| 国产乡下妇女做爰视频| 国产一区二区三区蝌蚪| 亚洲精品不卡| 深夜视频一区二区| 精品视频在线观看日韩| 久久露脸国语精品国产91| 国产精品99久久久久久久女警 | 性色一区二区| 国产精品视频入口| 亚洲精品白浆| 欧美一区二区三区小说| 日韩欧美视频免费观看| 奇米一区二区三区av| 青青成人在线| 深夜成人影院| 亚洲午夜av久久乱码| 亚洲午夜18毛片在线看| 99精品久久99久久久久| 我的公把我弄高潮了视频| 视频欧美一区| 九九久久综合网站| a在线观看免费| 亚洲精品乱码久久久久久| 手机av在线网站| 综合在线一区| 99久热re在线精品996热视频| av超碰免费在线| 日韩精品一区二区三区四区视频| 国产第一页浮力| 国产精品18久久久久久久久 | 含羞草久久爱69一区| 丰满诱人av在线播放| 亚洲精品一区二区在线观看| 亚洲一区 视频| 99精品欧美一区| 蜜臀久久99精品久久久酒店新书| 激情婷婷综合| 国产一区红桃视频| 亚洲国产精品精华素| 欧美va亚洲va在线观看蝴蝶网| 国产真实乱人偷精品视频| 成人精品免费看| 精品中文字幕av| 加勒比久久综合| 91精品久久久久久| 青草青在线视频| 精品亚洲va在线va天堂资源站| 亚洲色成人www永久网站| 国产精品视频免费看| 亚洲一区二区三区四区精品| 亚洲午夜黄色| 欧美性天天影院| 外国成人毛片| 久久久久久久久91| 番号集在线观看| 日韩亚洲欧美在线观看| 五月天婷婷丁香| 国产女人aaa级久久久级| 激情文学亚洲色图| aa国产精品| 夜夜爽99久久国产综合精品女不卡| 福利一区三区| 欧美一级黄色网| 日本网站在线免费观看视频| 欧美成人a∨高清免费观看| 亚洲AV无码成人精品区东京热| 中文字幕在线视频一区| 国产一卡二卡三卡四卡| 日本不卡不码高清免费观看| 裸体裸乳免费看| 五月综合久久| 97超碰人人看人人| 婷婷激情一区| 久久久久久久激情视频| 一级毛片视频在线| 日韩大陆毛片av| 国产强伦人妻毛片| 欧美日韩中文字幕日韩欧美| 五月综合色婷婷| 久久免费的精品国产v∧| 国产资源中文字幕| 日韩黄色免费网站| 分分操这里只有精品| 91综合视频| 欧美成人免费在线| 91成人在线精品视频| 国产精品揄拍500视频| 天堂√中文最新版在线| 欧美精品一二区| 男人和女人做事情在线视频网站免费观看 | 欧美日韩国产综合视频| 欧美区一区二区三区| 久久艹免费视频| 亚洲免费观看在线视频| 国产又粗又猛又爽又黄av| 成人一二三区视频| 亚洲一级片av| 麻豆精品国产91久久久久久| aⅴ在线免费观看| 亚洲欧洲一区| 欧美日韩dvd| 亚洲成人99| 亚洲一区二区免费视频软件合集| 亚洲精品黑牛一区二区三区| 成人激情av在线| 黑人巨大亚洲一区二区久| 97涩涩爰在线观看亚洲| 日韩三级电影视频| 欧美精品做受xxx性少妇| 免费av在线| 日韩小视频在线观看| 中文字幕日本在线观看| 国产性色av一区二区| 欧美偷拍视频| 日韩精品在线免费观看| 色视频在线看| 亚洲欧美国内爽妇网| 日本午夜在线| 亚洲欧美在线免费观看| 美女做暖暖视频免费在线观看全部网址91 | 亚洲男人的天堂在线| 亚洲a视频在线| 欧美电视剧在线看免费| 国产视频在线免费观看| 正在播放亚洲一区| 99国产精品欲| 日韩视频123| 精品国产av一区二区三区| 日韩欧美视频一区| 亚洲国产精品无码久久| 精品国产网站在线观看| 天堂在线视频观看| 精品无码久久久久久国产| 狠狠色伊人亚洲综合网站l| 亚洲天堂男人的天堂| 永久免费av在线| 欧美精品在线看| 电影在线观看一区| 琪琪第一精品导航| 国产精品成人国产| 国产日韩精品综合网站| 蜜桃在线一区| 精品久久久久久一区| 欧美理论在线播放| 国产精品夜夜夜爽张柏芝| 狠色狠色综合久久| 北条麻妃69av| 麻豆精品一区二区av白丝在线| 99999精品| 97精品国产97久久久久久久久久久久| 色一情一交一乱一区二区三区| 国产精品福利电影一区二区三区四区| 久久国产美女视频| 香蕉成人伊视频在线观看| 色av性av丰满av| 这里只有精品视频在线观看| 天天摸天天干天天操| 宅男66日本亚洲欧美视频| 亚洲图区一区| 国产精品99久久久久久久久| 欧美日韩黄色| 欧美三级华人主播| 最新国产精品| 中文字幕第36页| 懂色av一区二区三区免费看| 久久中文字幕人妻| 亚洲欧美日韩国产综合| 制服.丝袜.亚洲.中文.综合懂色| 欧美日韩一区不卡| 亚洲成人中文字幕在线| 亚洲色图校园春色| 国内小视频在线看| 国产精品精品久久久久久| 99亚洲乱人伦aⅴ精品| 视频一区二区在线| 亚洲国内精品| 国产欧美精品一二三| 国产婷婷精品av在线| 久一视频在线观看| 欧美狂野另类xxxxoooo| 欧美拍拍视频| 久久久欧美一区二区| 日韩成人综合网站| 欧美国产一区二区在线| 亚洲性人人天天夜夜摸| 57pao国产成永久免费视频| 2020国产精品| 国产一级久久久| 欧美久久一区二区| 欧美理论在线观看| 久久久久一本一区二区青青蜜月| 色噜噜成人av在线| 欧洲亚洲一区二区三区四区五区| 亚洲狠狠婷婷| 日本少妇xxx| 亚洲日穴在线视频| 中文字幕一区二区三区四区视频| 日韩乱码在线视频| 大桥未久在线视频| 国产精品一区二区欧美| 在线国产一区| 国产黄色一区二区三区| 中文字幕在线观看一区| 国产精品成人久久久| 亚洲人成欧美中文字幕| 欧美xxxhd| 精品无码久久久久久久动漫| 一区在线视频| 黑人玩弄人妻一区二区三区| 亚洲综合成人在线| 国产丰满美女做爰| 九九精品视频在线| 亚洲精品v亚洲精品v日韩精品| 国产日韩第一页| 国产一区在线观看麻豆| 色偷偷www8888| 69精品人人人人| 国产乱色在线观看| 亚洲综合中文字幕68页| 自拍偷拍欧美专区| 97中文字幕在线观看| 亚洲夂夂婷婷色拍ww47| 亚洲欧美强伦一区二区| 欧美精品18videosex性欧美| 超碰成人福利| 欧美成人高潮一二区在线看| 97久久久精品综合88久久| 毛片基地在线观看| 亚洲欧美日韩国产中文专区| 快播电影网址老女人久久| 日本一区二区三区四区高清视频| 日韩av一区二区三区| 永久av免费网站| 日韩精品在线一区二区| 激情在线视频播放| 精品视频免费观看| 老司机久久99久久精品播放免费| 成熟人妻av无码专区| 91超碰这里只有精品国产| 日本乱理伦在线| 国新精品乱码一区二区三区18| 久久动漫亚洲| 黄色av片三级三级三级免费看| 欧美一区二区三区啪啪| av在线播放资源| 欧美国产一区二区在线| 麻豆精品蜜桃视频网站| 久久国产一级片| 亚洲免费视频一区二区| 日本欧美在线| www.成年人视频| 久久精品欧美一区二区三区不卡 | 欧美第一黄网| 免播放器亚洲一区| 青青草成人免费| 日韩成人在线电影网| 四虎精品一区二区免费| 国产精品第157页| 久久综合九色综合97婷婷| 96亚洲精品久久久蜜桃| 高清欧美性猛交xxxx| 成人综合久久| 成熟妇人a片免费看网站| 欧美亚洲国产一区在线观看网站| 午夜av在线播放| 免费成人av网站| 国产酒店精品激情| 中文字幕精品无码一区二区| 欧美成在线视频| 国产伦精品一区二区三区千人斩 | av不卡在线播放| 中文字幕码精品视频网站| 久久噜噜噜精品国产亚洲综合 | 91丨国产丨九色丨pron|