午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > 淺談內存耗盡后Redis會發生什么

淺談內存耗盡后Redis會發生什么

熱門標簽:日本中國地圖標注 北京400電話辦理收費標準 宿遷便宜外呼系統平臺 山東外呼銷售系統招商 超呼電話機器人 鄭州人工智能電銷機器人系統 貴州電銷卡外呼系統 十堰營銷電銷機器人哪家便宜 魔獸2青云地圖標注

前言

作為一臺服務器來說,內存并不是無限的,所以總會存在內存耗盡的情況,那么當 Redis 服務器的內存耗盡后,如果繼續執行請求命令,Redis 會如何處理呢?

內存回收

使用Redis 服務時,很多情況下某些鍵值對只會在特定的時間內有效,為了防止這種類型的數據一直占有內存,我們可以給鍵值對設置有效期。Redis 中可以通過 4 個獨立的命令來給一個鍵設置過期時間:

  • expire key ttl:將 key 值的過期時間設置為 ttl 秒。
  • pexpire key ttl:將 key 值的過期時間設置為 ttl 毫秒。
  • expireat key timestamp:將 key 值的過期時間設置為指定的 timestamp 秒數。
  • pexpireat key timestamp:將 key 值的過期時間設置為指定的 timestamp 毫秒數。

PS:不管使用哪一個命令,最終 Redis 底層都是使用 pexpireat 命令來實現的。另外,set 等命令也可以設置 key 的同時加上過期時間,這樣可以保證設值和設過期時間的原子性。

設置了有效期后,可以通過 ttlpttl 兩個命令來查詢剩余過期時間(如果未設置過期時間則下面兩個命令返回 -1,如果設置了一個非法的過期時間,則都返回 -2):

  • ttl key 返回 key 剩余過期秒數。
  • pttl key 返回 key 剩余過期的毫秒數。

過期策略

如果將一個過期的鍵刪除,我們一般都會有三種策略:

  • 定時刪除:為每個鍵設置一個定時器,一旦過期時間到了,則將鍵刪除。這種策略對內存很友好,但是對 CPU 不友好,因為每個定時器都會占用一定的 CPU 資源。
  • 惰性刪除:不管鍵有沒有過期都不主動刪除,等到每次去獲取鍵時再判斷是否過期,如果過期就刪除該鍵,否則返回鍵對應的值。這種策略對內存不夠友好,可能會浪費很多內存。
  • 定期掃描:系統每隔一段時間就定期掃描一次,發現過期的鍵就進行刪除。這種策略相對來說是上面兩種策略的折中方案,需要注意的是這個定期的頻率要結合實際情況掌控好,使用這種方案有一個缺陷就是可能會出現已經過期的鍵也被返回。

Redis 當中,其選擇的是策略 2 和策略 3 的綜合使用。不過 Redis 的定期掃描只會掃描設置了過期時間的鍵,因為設置了過期時間的鍵 Redis 會單獨存儲,所以不會出現掃描所有鍵的情況:

typedef struct redisDb {
  dict *dict; //所有的鍵值對
  dict *expires; //設置了過期時間的鍵值對
  dict *blocking_keys; //被阻塞的key,如客戶端執行BLPOP等阻塞指令時
  dict *watched_keys; //WATCHED keys
  int id; //Database ID
  //... 省略了其他屬性
} redisDb;

8 種淘汰策略

假如 Redis 當中所有的鍵都沒有過期,而且此時內存滿了,那么客戶端繼續執行 set 等命令時 Redis 會怎么處理呢?Redis 當中提供了不同的淘汰策略來處理這種場景。

首先 Redis 提供了一個參數 maxmemory 來配置 Redis 最大使用內存:

maxmemory bytes>

或者也可以通過命令 config set maxmemory 1GB 來動態修改。

如果沒有設置該參數,那么在 32 位的操作系統中 Redis 最多使用 3GB 內存,而在 64 位的操作系統中則不作限制。

Redis 中提供了 8 種淘汰策略,可以通過參數 maxmemory-policy 進行配置:

淘汰策略 說明
volatile-lru 根據 LRU 算法刪除設置了過期時間的鍵,直到騰出可用空間。如果沒有可刪除的鍵對象,且內存還是不夠用時,則報錯
allkeys-lru 根據 LRU 算法刪除所有的鍵,直到騰出可用空間。如果沒有可刪除的鍵對象,且內存還是不夠用時,則報錯
volatile-lfu 根據 LFU 算法刪除設置了過期時間的鍵,直到騰出可用空間。如果沒有可刪除的鍵對象,且內存還是不夠用時,則報錯
allkeys-lfu 根據 LFU 算法刪除所有的鍵,直到騰出可用空間。如果沒有可刪除的鍵對象,且內存還是不夠用時,則報錯
volatile-random 隨機刪除設置了過期時間的鍵,直到騰出可用空間。如果沒有可刪除的鍵對象,且內存還是不夠用時,則報錯
allkeys-random 隨機刪除所有鍵,直到騰出可用空間。如果沒有可刪除的鍵對象,且內存還是不夠用時,則報錯
volatile-ttl 根據鍵值對象的 ttl 屬性, 刪除最近將要過期數據。 如果沒有,則直接報錯
noeviction 默認策略,不作任何處理,直接報錯

PS:淘汰策略也可以直接使用命令 config set maxmemory-policy 策略> 來進行動態配置。

LRU 算法

LRU 全稱為:Least Recently Used。即:最近最長時間未被使用。這個主要針對的是使用時間。

Redis 改進后的 LRU 算法

Redis 當中,并沒有采用傳統的 LRU 算法,因為傳統的 LRU 算法存在 2 個問題:

  • 需要額外的空間進行存儲。
  • 可能存在某些 key 值使用很頻繁,但是最近沒被使用,從而被 LRU 算法刪除。

為了避免以上 2 個問題,Redis 當中對傳統的 LRU 算法進行了改造,通過抽樣的方式進行刪除。

配置文件中提供了一個屬性 maxmemory_samples 5,默認值就是 5,表示隨機抽取 5key 值,然后對這 5key 值按照 LRU 算法進行刪除,所以很明顯,key 值越大,刪除的準確度越高。

對抽樣 LRU 算法和傳統的 LRU 算法,Redis 官網當中有一個對比圖:

  • 淺灰色帶是被刪除的對象。
  • 灰色帶是未被刪除的對象。
  • 綠色是添加的對象。

左上角第一幅圖代表的是傳統 LRU 算法,可以看到,當抽樣數達到 10 個(右上角),已經和傳統的 LRU 算法非常接近了。

Redis 如何管理熱度數據

前面我們講述字符串對象時,提到了 redisObject 對象中存在一個 lru 屬性:

typedef struct redisObject {
  unsigned type:4;//對象類型(4位=0.5字節)
  unsigned encoding:4;//編碼(4位=0.5字節)
  unsigned lru:LRU_BITS;//記錄對象最后一次被應用程序訪問的時間(24位=3字節)
  int refcount;//引用計數。等于0時表示可以被垃圾回收(32位=4字節)
  void *ptr;//指向底層實際的數據存儲結構,如:SDS等(8字節)
} robj;

lru 屬性是創建對象的時候寫入,對象被訪問到時也會進行更新。正常人的思路就是最后決定要不要刪除某一個鍵肯定是用當前時間戳減去 lru,差值最大的就優先被刪除。但是 Redis 里面并不是這么做的,Redis 中維護了一個全局屬性 lru_clock,這個屬性是通過一個全局函數 serverCron 每隔 100 毫秒執行一次來更新的,記錄的是當前 unix 時間戳。

最后決定刪除的數據是通過 lru_clock 減去對象的 lru 屬性而得出的。那么為什么 Redis 要這么做呢?直接取全局時間不是更準確嗎?

這是因為這么做可以避免每次更新對象的 lru 屬性的時候可以直接取全局屬性,而不需要去調用系統函數來獲取系統時間,從而提升效率(Redis 當中有很多這種細節考慮來提升性能,可以說是對性能盡可能的優化到極致)。

不過這里還有一個問題,我們看到,redisObject 對象中的 lru 屬性只有 24 位,24 位只能存儲 194 天的時間戳大小,一旦超過 194 天之后就會重新從 0 開始計算,所以這時候就可能會出現 redisObject 對象中的 lru 屬性大于全局的 lru_clock 屬性的情況。

正因為如此,所以計算的時候也需要分為 2 種情況:

  • 當全局 lruclock > lru,則使用 lruclock - lru 得到空閑時間。
  • 當全局 lruclock lru,則使用 lruclock_max(即 194 天) - lru + lruclock 得到空閑時間。

需要注意的是,這種計算方式并不能保證抽樣的數據中一定能刪除空閑時間最長的。這是因為首先超過 194 天還不被使用的情況很少,再次只有 lruclock2 輪繼續超過 lru 屬性時,計算才會出問題。

比如對象 A 記錄的 lru1 天,而 lruclock 第二輪都到 10 天了,這時候就會導致計算結果只有 10-1=9 天,實際上應該是 194+10-1=203 天。但是這種情況可以說又是更少發生,所以說這種處理方式是可能存在刪除不準確的情況,但是本身這種算法就是一種近似的算法,所以并不會有太大影響。

LFU 算法

LFU 全稱為:Least Frequently Used。即:最近最少頻率使用,這個主要針對的是使用頻率。這個屬性也是記錄在redisObject 中的 lru 屬性內。

當我們采用 LFU 回收策略時,lru 屬性的高 16 位用來記錄訪問時間(last decrement time:ldt,單位為分鐘),低 8 位用來記錄訪問頻率(logistic counter:logc),簡稱 counter

訪問頻次遞增

LFU 計數器每個鍵只有 8 位,它能表示的最大值是 255,所以 Redis 使用的是一種基于概率的對數器來實現 counter 的遞增。r

給定一個舊的訪問頻次,當一個鍵被訪問時,counter 按以下方式遞增:

  • 提取 01 之間的隨機數 R
  • counter - 初始值(默認為 5),得到一個基礎差值,如果這個差值小于 0,則直接取 0,為了方便計算,把這個差值記為 baseval
  • 概率 P 計算公式為:1/(baseval * lfu_log_factor + 1)
  • 如果 R P 時,頻次進行遞增(counter++)。

公式中的 lfu_log_factor 稱之為對數因子,默認是 10 ,可以通過參數來進行控制:

lfu_log_factor 10

下圖就是對數因子 lfu_log_factor 和頻次 counter 增長的關系圖:

可以看到,當對數因子 lfu_log_factor100 時,大概是 10M(1000萬) 次訪問才會將訪問 counter 增長到 255,而默認的 10 也能支持到 1M(100萬) 次訪問 counter 才能達到 255 上限,這在大部分場景都是足夠滿足需求的。

訪問頻次遞減

如果訪問頻次 counter 只是一直在遞增,那么遲早會全部都到 255,也就是說 counter 一直遞增不能完全反應一個 key 的熱度的,所以當某一個 key 一段時間不被訪問之后,counter 也需要對應減少。

counter 的減少速度由參數 lfu-decay-time 進行控制,默認是 1,單位是分鐘。默認值 1 表示:N 分鐘內沒有訪問,counter 就要減 N

lfu-decay-time 1

具體算法如下:

  • 獲取當前時間戳,轉化為分鐘后取低 16 位(為了方便后續計算,這個值記為 now)。
  • 取出對象內的 lru 屬性中的高 16 位(為了方便后續計算,這個值記為 ldt)。
  • lru > now 時,默認為過了一個周期(16 位,最大 65535),則取差值 65535-ldt+now:當 lru = now 時,取差值 now-ldt(為了方便后續計算,這個差值記為 idle_time )。
  • 取出配置文件中的 lfu_decay_time 值,然后計算:idle_time / lfu_decay_time(為了方便后續計算,這個值記為num_periods)。
  • 最后將counter減少:counter - num_periods

看起來這么復雜,其實計算公式就是一句話:取出當前的時間戳和對象中的 lru 屬性進行對比,計算出當前多久沒有被訪問到,比如計算得到的結果是 100 分鐘沒有被訪問,然后再去除配置參數 lfu_decay_time,如果這個配置默認為 1也即是 100/1=100,代表 100 分鐘沒訪問,所以 counter 就減少 100

總結

本文主要介紹了 Redis 過期鍵的處理策略,以及當服務器內存不夠時 Redis8 種淘汰策略,最后介紹了 Redis 中的兩種主要的淘汰算法 LRULFU

到此這篇關于淺談內存耗盡后Redis會發生什么的文章就介紹到這了,更多相關Redis內存耗盡內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • redis內存空間效率問題的深入探究
  • redis 限制內存使用大小的實現
  • redis 使用lettuce 啟動內存泄漏錯誤的解決方案
  • 一次關于Redis內存詭異增長的排查過程實戰記錄
  • 淺談redis內存數據的持久化方式
  • 內存型數據庫Redis持久化小結
  • 降低PHP Redis內存占用
  • Redis教程(十四):內存優化介紹
  • 詳解Redis瘦身指南

標簽:楊凌 果洛 吉安 江蘇 北京 大慶 臺州 朝陽

巨人網絡通訊聲明:本文標題《淺談內存耗盡后Redis會發生什么》,本文關鍵詞  淺談,內存,耗盡,后,Redis,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺談內存耗盡后Redis會發生什么》相關的同類信息!
  • 本頁收集關于淺談內存耗盡后Redis會發生什么的相關信息資訊供網民參考!
  • 推薦文章
    yellow中文字幕久久| www中文在线| 国产成人精品电影久久久| 亚洲一区成人在线| 欧美性猛交xxxx免费看漫画| 色狠狠综合天天综合综合| 成人午夜激情影院| 91成人在线免费| 久久精品国产亚洲高清剧情介绍 | 国产精品伊人日日| 69av在线播放| 亚洲视频免费在线| 久久精品水蜜桃av综合天堂| 国产亚洲综合在线| 欧美高清精品3d| 国产精品色悠悠| 亚洲图片小说在线| www.五月天色| 无人在线观看的免费高清视频| 欧美日韩在线精品一区二区三区| 日本国产欧美一区二区三区| 精品国产一区二区三区久久久蜜月| 午夜久久福利影院| 成人免费一区二区三区在线观看| 久久精品99国产国产精| 波多野结衣亚洲一区二区| 国产51自产区| 伊人亚洲综合网| 久久中文欧美| 亚洲人妻一区二区三区| 丰满人妻熟女aⅴ一区| 久久久久久久久久毛片| 亚洲综合自拍网| 日韩在线视频免费播放| www.亚洲精品| 亚洲乱码国产乱码精品精| 国产一区精品视频| 白丝校花扒腿让我c| 亚洲精品视频久久久| 91香蕉国产线在线观看| 日本69式三人交| 毛茸茸多毛bbb毛多视频| 日韩 欧美 亚洲| 超碰av在线免费观看| 日韩hmxxxx| 美女爆乳18禁www久久久久久 | 日韩欧美视频在线| 在线观看国产成人av片| 欧美激情在线观看视频免费| 亚洲mv在线观看| 亚洲黄色有码视频| 久久99精品久久久久久秒播放器 | 欧美一区,二区| 国产资源在线一区| 乱一区二区av| 国产精品久久久久久久久久久免费看 | 久久国产视频精品| 五级黄高潮片90分钟视频| 国产人妻大战黑人20p| 激情综合网av| 国产精品污污网站在线观看 | 亚洲成**性毛茸茸| 成人高清视频在线观看| 精品久久久久久中文字幕一区奶水| 欧美一区二区人人喊爽| 欧美成人午夜激情| 欧美成人在线免费观看| 久久国产激情视频| 日本成人免费在线观看| √天堂中文官网8在线| 精品美女久久久久| 天天干天天舔天天射| 免费一级黄色大片| 伊人免费在线观看| 亚洲一区在线观看视频| 亚洲精品久久久久久下一站| 欧美一级免费视频| 一区二区三区欧美成人| 91大神在线播放精品| 日本一区高清不卡| 2019男人天堂| 国产精品伦理一区二区| 成人久久久久久久| 九九热精品免费视频| 久久亚洲一区二区三区明星换脸| 国产成人avxxxxx在线看| 黄瓜视频免费观看在线观看www| 国产a级黄色大片| 久久久久久久久久毛片| 国产无码精品视频| 成人精品小蝌蚪| 久久一二三国产| 色狠狠av一区二区三区| 精品一区2区三区| 国产男男chinese网站| 一区二区成人网| 免费在线黄色片| av首页在线观看| 精品国产无码AV| 亚洲美女少妇撒尿| 国产精品扒开腿做爽爽爽男男 | 国产精品无码天天爽视频| 欧美日韩国产影片| 99久久免费观看| 亚洲精品一区二三区| 波多野结衣中文字幕一区| 婷婷综合在线观看| 久久综合久中文字幕青草| 尤物一区二区三区| 在线免费观看黄色小视频| 69夜色精品国产69乱| 亚洲美女综合网| 欧美剧在线观看| 夫妇交换中文字幕| 无码国产精品一区二区免费16| 亚洲丝袜制服诱惑| 日韩视频免费在线观看| 在线观看视频亚洲| 欧美精品久久久久久久久久久| 亚洲一区欧美在线| 欧美日韩亚洲综合| 日日碰狠狠添天天爽超碰97| 成人午夜精品在线| 久久久福利视频| 国产成人精品一区二三区四区五区| 精品人伦一区二区三区蜜桃网站 | 日韩av日韩在线观看| 久艹视频在线免费观看| 国产精品老熟女一区二区| 国产盗摄精品一区二区三区在线 | 色呦呦中文字幕| 成人综合在线视频| 久久久久久久久久久亚洲| 成年人免费大片| 最新av电影网站| 国产精品美女久久久久久| 68精品久久久久久欧美| 日韩精品一区二区在线播放| 亚洲欧美一区二区三区在线| 免费看特级毛片| 欧美影院一区二区| 97视频在线免费播放| 国产无遮挡又黄又爽又色视频| 中文字幕av一区二区三区高| 久久视频在线视频| 国产深夜男女无套内射| 国产精品久久久久久69| 欧美日韩精品一二三区| 亚洲日韩欧美视频| 国产在线高清精品| 日本香蕉视频在线观看| 91精品国自产在线| 久久久久免费| 欧美大片免费看| 国产伦精品一区二区三区妓女 | 青青草视频在线视频| 欧美特黄一级视频| 国产精品亚洲美女av网站| 蜜臀av性久久久久蜜臀aⅴ| 国产精品夜夜夜一区二区三区尤| 日产欧产美韩系列久久99| 91在线网站视频| 伊人久久中文字幕| 日韩一区二区三| 91大学生片黄在线观看| 国产av无码专区亚洲av| 制服丝袜亚洲色图| 精品人妻一区二区三区日产| 午夜一区二区三区视频| 国产精品视频免费一区| 国产成人精品一区二三区| 亚洲欧美一区二区三区久本道91 | 成人黄色网址在线观看| 欧美日韩一区二区三区在线看| 日韩免费视频在线观看| 日韩熟女一区二区| 一区二区三区 在线观看视频| 亚洲欧美日韩天堂| 日韩精品另类天天更新| 免费在线观看a级片| 91精品国产综合久久久久久久久久 | 爱福利视频一区| 成年女人免费视频| 国产成人免费在线视频| 91原创国产| aaa一区二区三区| 91综合免费在线| 国产欧美日韩在线| 亚洲精品乱码久久久久久蜜桃欧美| 91麻豆精品国产自产在线 | 国产伦精品一区二区三区视频孕妇| 麻豆成人免费视频| 日韩西西人体444www| 国产91在线免费| 国产91综合网| 97夜夜澡人人双人人人喊| 欧洲猛交xxxx乱大交3| 一区二区三区在线免费观看| 蜜桃麻豆91| 欧美国产丝袜视频| 国产精品亚洲一区二区无码| bt欧美亚洲午夜电影天堂| 91久久爱成人| 国产88在线观看入口| 人人做人人澡人人爽欧美| 男操女免费网站| 欧美日韩在线播放三区四区| 国产一区二区网| 久久综合色一综合色88| 波多野在线播放| 久久人人爽人人爽人人片av高清| 成人黄色777网| 亚洲av成人片无码| 日韩亚洲国产中文字幕| 在线观看中文字幕av| 少妇精69xxtheporn| 国产极品在线播放| 亚洲毛片在线观看.| a级黄色片免费看| 尤物九九久久国产精品的特点 | 欧美一级片免费观看| 国产人伦精品一区二区| 爱情岛论坛亚洲首页入口章节| 久久精选视频| 久久影院理伦片| av在线一区二区| 美女亚洲精品| 国产成人精品av在线观| 国产一区二区视频在线观看| 三级不卡在线观看| 亚洲人成77777| 欧美一区二区三区小说| 蜜桃av中文字幕| 亚洲娇小娇小娇小| 久久久噜久噜久久综合| 成人综合在线网站| 日本人dh亚洲人ⅹxx| 粗暴蹂躏中文一区二区三区| 羞羞色院91蜜桃| 欧美成人精品激情在线观看| 国产人妖在线播放| 动漫美女被爆操久久久| 国产成人免费视频网站| 日韩精品视频一区二区在线观看| 国产suv精品一区二区883| 超碰97国产在线| 久久99久久99| 国产一二三四在线视频| 欧美大尺度在线观看| 欧美特黄一级视频| 国产一区视频观看| 亚洲一区二区av在线| 精品一区二区视频在线观看| 亚洲图片自拍偷拍| 美女100%露胸无遮挡| 久久久久久国产精品美女| 国产精品一区二区三区四区| 亚洲综合第一区| 国产精品国产一区二区| 日韩色在线观看| 粉嫩av亚洲一区二区图片| 四虎永久免费观看| 114国产精品久久免费观看| 91丨porny丨首页| 亚洲第一中文av| 欧美一区二区视频在线观看2022| 99精品视频99| 国产精品对白一区二区三区| 国产精品视频yy9299一区| 成年人在线免费看片| 欧美与黑人午夜性猛交久久久| 色一情一乱一伦| 韩国福利视频一区| 国产高清免费观看| 91精品久久久久久久久不口人| 丝袜美腿成人在线| av无码久久久久久不卡网站| 欧美日韩国产一二三| 一区二区三区麻豆| 国产主播欧美精品| 日韩一区日韩二区| 亚洲黄色小说视频| 91精品国产色综合久久不卡蜜臀| 亚洲成人久久一区| 国产精品久久久久久超碰 | 91极品尤物在线播放国产| 中文字幕第69页| 亚洲精品一区二区三区蜜桃| 久久久久国产一区二区三区四区| 精品1区2区3区| 韩国日本不卡在线| 久久免费视频2| 亚洲狠狠婷婷综合久久久久图片| 中文字幕av网站| 成人晚上爱看视频| 欧美日韩久久久一区| 久久久久久有精品国产| 亚洲视频精品一区| 800av在线播放| 国产又粗又猛又爽| 国产欧美日韩另类视频免费观看| 欧美本精品男人aⅴ天堂| 国产精品久久久久国产a级| 国产免费黄色小视频| 希岛爱理中文字幕| 久久99精品久久只有精品| 欧美日韩国产精品专区| 欧美美女18p| 日本福利视频导航| 69xxx免费| 日本午夜精品一区二区三区电影| 中文字幕在线播放不卡一区| 精品视频www| 国产精品香蕉视屏| 秋霞午夜鲁丝一区二区| www.欧美色| 久久精品网站免费观看| 日韩大陆毛片av| 精品久久一区二区三区蜜桃| 国内自拍偷拍视频| www.av日韩| 亚洲午夜久久久久久久久久久 | 欧美三级电影在线看| 热久久99这里有精品| 蜜臀av无码一区二区三区| 天天干中文字幕| 成人午夜电影久久影院| 欧美mv日韩mv亚洲| 91高跟黑色丝袜呻吟在线观看| 911福利视频| 国产高清不卡视频| 天天色天天操综合| 国产69久久精品成人看| www.中文字幕在线| 午夜久久久久久久久久影院| 欧美国产日韩亚洲一区| 国产亚洲一级高清| 亚洲精品自在在线观看| 欧美色视频一区二区三区在线观看| 精彩视频一区二区三区| 日韩欧美综合在线| 久久精品国产精品国产精品污| 午夜一区二区三区免费| 青青青伊人色综合久久| 91精品国产综合久久国产大片 | 99国产精品免费视频| 高h放荡受浪受bl| 欧美专区在线观看一区| 成人日韩av在线| 在线观看亚洲免费视频| 日韩电影在线免费看| 在线综合+亚洲+欧美中文字幕| 97视频资源在线观看| 中文字幕免费高清| 国产一区免费电影| 日韩av在线一区| 亚洲a∨一区二区三区| 少妇久久久久久被弄高潮| 91网站最新网址| 久久亚洲国产成人| 国产91对白刺激露脸在线观看| 中国a一片一级一片| 亚洲一区二区三区自拍| 国产成人精品免高潮费视频| 精产国品一二三区| 日日夜夜精品视频免费| 欧美va亚洲va国产综合| 婷婷久久五月天| 国产一级在线观看视频| 1024成人网| 国产精品69av| 星空大象在线观看免费播放| 国产呦精品一区二区三区网站| 亚洲精品一区二区三区不| 狠狠干视频网站| 在线观看一二三区| 色中色一区二区| 国产成人看片| 成人涩涩小片视频日本| 国产女主播一区| 青青草99啪国产免费| 一区二区在线免费观看视频| 美女爽到高潮91| 亚洲日本aⅴ片在线观看香蕉| 欧美视频在线观看视频| www.av网站| 欧美精品一区二区高清在线观看 | 国产精品中文久久久久久久| 亚洲精品成人无码熟妇在线| 不卡视频在线观看| 欧美大学生性色视频| 波多野结衣中文字幕在线播放| 看电视剧不卡顿的网站| 中文字幕精品在线| 99热手机在线| 久久精品导航| 国产亚洲美女精品久久久| 日本va中文字幕| 男女激情视频一区| 综合久久五月天| 污污的网站免费| 国产精品一区二区你懂的| 久久精品国产免费观看| 97人人爽人人| 国产高清视频一区| 午夜精品国产精品大乳美女| 男女性杂交内射妇女bbwxz| 99精品欧美一区| 国产不卡av在线| 中文字幕在线有码|