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

HashMap 熟悉吧?好的,那就來(lái)聊聊 Redis 字典吧!

存儲(chǔ) 存儲(chǔ)軟件 Redis
事情是這樣的,前面面試問(wèn)了幾個(gè) Java 的相關(guān)問(wèn)題,我朋友回答還不錯(cuò),接下來(lái)面試官就問(wèn)了一句:看來(lái) Java 基礎(chǔ)還不錯(cuò),Java HashMap 你熟悉吧?

[[340683]]

本文轉(zhuǎn)載自微信公眾號(hào)「Java極客技術(shù)」,作者鴨血粉絲 。轉(zhuǎn)載本文請(qǐng)聯(lián)系Java極客技術(shù)公眾號(hào)。

最近,阿粉的一個(gè)朋友出去面試,回來(lái)跟阿粉抱怨,面試官不按套路出牌,直接打亂了他的節(jié)奏。

事情是這樣的,前面面試問(wèn)了幾個(gè) Java 的相關(guān)問(wèn)題,我朋友回答還不錯(cuò),接下來(lái)面試官就問(wèn)了一句:看來(lái) Java 基礎(chǔ)還不錯(cuò),Java HashMap 你熟悉吧?

我朋友回答。工作經(jīng)常用,有看過(guò)源碼。

我朋友本來(lái)想著,你隨便來(lái)吧,這個(gè)問(wèn)題之前已經(jīng)準(zhǔn)備好了,隨便問(wèn)吧。

誰(shuí)知道,面試官下面一句:

「那好的,我們來(lái)聊聊 Redis 字典吧。」

直接將他整蒙逼。

 

阿粉的朋友由于沒(méi)怎么研究過(guò) Redis 字典,所以這題就直接回答不知道了。

「當(dāng)然,如果面試中真不知道,那就回答不了解,直接下一題,不要亂答。」

不過(guò)這一題,阿粉覺(jué)得還是很可惜,其實(shí) Redis 字典基本原理與 HashMap 差不多,那我們其實(shí)可以套用這其中的原理,不求回答滿分,但是怎么也可以得個(gè)及格分吧~

面試過(guò)程真要碰到這個(gè)問(wèn)題,我們可以從下面三個(gè)方面回答。

  • 數(shù)據(jù)結(jié)構(gòu)
  • 元素增加過(guò)程
  • 擴(kuò)容

字典數(shù)據(jù)結(jié)構(gòu)

說(shuō)起字典,也許大家比較陌生,但是我們都知道 Redis 本身提供 KV 查詢的方式,這個(gè) KV 就是其實(shí)通過(guò)底層就是通過(guò)字典保存。

另外,Redis 支持多種數(shù)據(jù)類型,其中一種類型為 Hash 鍵,也可以用來(lái)存儲(chǔ) KV 數(shù)據(jù)。

阿粉剛開(kāi)始了解的這個(gè)數(shù)據(jù)結(jié)構(gòu)的時(shí)候,本來(lái)以為這個(gè)就是使用字典實(shí)現(xiàn)。其實(shí)并不是這樣的,初始創(chuàng)建 Hash 鍵,默認(rèn)使用另外一種數(shù)據(jù)結(jié)構(gòu)-「ZIPLIST」(壓縮列表),以此節(jié)省內(nèi)存空間。

不過(guò)一旦以下任何條件被滿足,Hash 鍵的數(shù)據(jù)結(jié)構(gòu)將會(huì)變?yōu)樽值洌涌觳樵兯俣取?/p>

  • 哈希表中某個(gè)鍵或某個(gè)值的長(zhǎng)度大于 server.hash_max_ziplist_value (默認(rèn)值為 64 )。
  • 壓縮列表中的節(jié)點(diǎn)數(shù)量大于 server.hash_max_ziplist_entries (默認(rèn)值為 512 )。

Redis 字典新建時(shí)默認(rèn)將會(huì)創(chuàng)建一個(gè)哈希表數(shù)組,保存兩個(gè)哈希表。

其中 ht[0] 哈希表在第一次往字典中添加鍵值時(shí)分配內(nèi)存空間,而另一個(gè) ht[1] 將會(huì)在下文中擴(kuò)容/縮容才會(huì)進(jìn)行空間分配。

 

字典中哈希表其實(shí)就等同于Java HashMap,我們知道 Java 采用數(shù)組加鏈表/紅黑樹(shù)的實(shí)現(xiàn)方式,其實(shí)哈希表也是使用類似的數(shù)據(jù)結(jié)構(gòu)。

哈希表結(jié)構(gòu)如下所示:

 

其中 table 屬性是個(gè)數(shù)組, 其中數(shù)組元素保存一種 dictEntry 的結(jié)構(gòu),這個(gè)結(jié)構(gòu)完全類似與 HashMap 中的 Entry 類型,這個(gè)結(jié)構(gòu)存儲(chǔ)一個(gè) KV 鍵值對(duì)。

同時(shí),為了解決 hash 碰撞的問(wèn)題,dictEntry 存在一個(gè) next 指針,指向下一個(gè)dictEntry ,這樣就形成 dictEntry 的鏈表。

 

 

 

 

現(xiàn)在,我們回頭對(duì)比 Java 中 HashMap,可以發(fā)現(xiàn)兩者數(shù)據(jù)結(jié)構(gòu)基本一致。

只不過(guò) HashMap 為了解決鏈表過(guò)長(zhǎng)問(wèn)題導(dǎo)致查詢變慢,JDK1.8 時(shí)在鏈表元素過(guò)多時(shí)采用紅黑樹(shù)的數(shù)據(jù)結(jié)構(gòu)。

下面我們開(kāi)始添加新元素,了解這其中的原理。

元素增加過(guò)程

當(dāng)我們往一個(gè)新字典中添加元素,默認(rèn)將會(huì)為字典中 ht[0] 哈希表分配空間,默認(rèn)情況下哈希表 table 數(shù)組大小為 4(「DICT_HT_INITIAL_SIZE」)。

新添加元素的鍵值將會(huì)經(jīng)過(guò)哈希算法,確定哈希表數(shù)組的位置,然后添加到相應(yīng)的位置,如圖所示:

 

繼續(xù)增加元素,此時(shí)如果兩個(gè)不同鍵經(jīng)過(guò)哈希算法產(chǎn)生相同的哈希值,這樣就發(fā)生了哈希碰撞。

假設(shè)現(xiàn)在我們哈希表中擁有是三個(gè)元素,:

 

我們?cè)僭黾右粋€(gè)新元素,如果此時(shí)剛好在數(shù)組 3 號(hào)位置上發(fā)生碰撞,此時(shí) Redis 將會(huì)采用鏈表的方式解決哈希碰撞。

 

「注意,新元素將會(huì)放在鏈表頭結(jié)點(diǎn),這么做目的是因?yàn)樾略黾拥脑兀艽蟾怕噬蠒?huì)被再次訪問(wèn),放在頭結(jié)點(diǎn)增加訪問(wèn)速度。」

這里我們?cè)趯?duì)比一下元素添加過(guò)程,可以發(fā)現(xiàn) Redis 流程其實(shí)與 JDK 1.7 版本的 HashMap 類似。

當(dāng)我們?cè)卦黾釉絹?lái)越多時(shí),哈希碰撞情況將會(huì)越來(lái)越頻繁,這就會(huì)導(dǎo)致鏈表長(zhǎng)度過(guò)長(zhǎng),極端情況下 O(1) 查詢效率退化成 O(N) 的查詢效率。

為此,字典必須進(jìn)行擴(kuò)容,這樣就會(huì)使觸發(fā)字典 rehash 操作。

擴(kuò)容

當(dāng) Redis 進(jìn)行 Rehash 擴(kuò)容操作,首先將會(huì)為字典沒(méi)有用到 ht[1] 哈希表分配更大空間。

 

❝畫(huà)外音:ht[1] 哈希表大小為第一個(gè)大于等于 ht[0].used*2 的 2^2(2的n 次方冪)❞

然后再將 ht[0] 中所有鍵值對(duì)都遷移到 ht[1] 中。

簡(jiǎn)單起見(jiàn),忽略指向空節(jié)點(diǎn)

 

當(dāng)節(jié)點(diǎn)全部遷移完畢,將會(huì)釋放 ht[0]占用空間,并將 ht[1] 設(shè)置為 ht[0]。

 

擴(kuò)容 操作需要將 ht[0]所有鍵值對(duì)都 Rehash 到 ht[1] 中,如果鍵值過(guò)多,假設(shè)存在十億個(gè)鍵值對(duì),這樣一次性的遷移,勢(shì)必導(dǎo)致服務(wù)器會(huì)在一段時(shí)間內(nèi)停止服務(wù)。

另外如果每次 rehash 都會(huì)阻塞當(dāng)前操作,這樣對(duì)于客戶端處理非常不友好。

為了避免 rehash對(duì)服務(wù)器的影響,Redis 采用漸進(jìn)式的遷移方式,慢慢將數(shù)據(jù)遷移分散到多個(gè)操作步驟。

這個(gè)操作依賴字典中一個(gè)屬性 rehashidx,這是一個(gè)索引位置計(jì)數(shù)器,記錄下一個(gè)哈希表 table 數(shù)組上元素,默認(rèn)情況為值為 「-1」。

假設(shè)此時(shí)擴(kuò)容前字典如圖所示:

 

當(dāng)開(kāi)始 rehash 操作,rehashidx將會(huì)被設(shè)置為 「0」 。

這個(gè)期間每次收到增加,刪除,查找,更新命令,除了這些命令將會(huì)被執(zhí)行以外,還會(huì)順帶將ht[0]哈希表在 rehashidx 位置的元素 rehash 到 ht[1] 中。

假設(shè)此時(shí)收到一個(gè) 「K3」 鍵的查詢操作,Redis 首先執(zhí)行查詢操作,接著 Redis 將會(huì)為 ht[0]哈希表上table 數(shù)組第 rehashidx索引上所有節(jié)點(diǎn)都遷移到 ht[1]中。

 

當(dāng)操作完成之后,再將 rehashidx 屬性值加 1。

最后當(dāng)所有鍵值對(duì)都 rehash 到 ht[1]中時(shí),rehashidx將會(huì)被重新設(shè)置為 -1。

雖然漸進(jìn)式的 rehash 操作減少了工作量,但是卻帶來(lái)鍵值操作的復(fù)雜度。

這是因?yàn)樵跐u進(jìn)式 rehash 操作期間,Redis 無(wú)法明確知道鍵到底在 ht[0]中,還是在 ht[1] 中,所以這個(gè)時(shí)候 Redis 不得不查找兩個(gè)哈希表。

以查找為例,Redis 首先查詢 ht[0] ,如果沒(méi)找到將會(huì)繼續(xù)查找 ht[1],除了查詢以外,更新,刪除也會(huì)執(zhí)行如上的操作。

添加操作其實(shí)就沒(méi)這么麻煩,因?yàn)閔t[0]不會(huì)在使用,那就統(tǒng)一都添加到 ht[1] 中就好了。

最后我們?cè)賹?duì)比一下 Java HashMap 擴(kuò)容操作,它是一個(gè)一次性操作,每次擴(kuò)容需要將所有鍵值對(duì)都遷移到新的數(shù)組中,所以如果數(shù)據(jù)量很大,消耗時(shí)間就會(huì)久。

總結(jié)

Redis 字典使用哈希表作為底層實(shí)現(xiàn),每個(gè)字典包含兩個(gè)哈希表,一個(gè)平時(shí)使用,一個(gè)僅在 rehash 操作中使用。

哈希表總的來(lái)說(shuō),跟 Java HashMap 真的很類似,底層實(shí)現(xiàn)也是一個(gè)數(shù)組加鏈表數(shù)據(jù)結(jié)構(gòu)。

最后,當(dāng)對(duì)哈希表進(jìn)行擴(kuò)容操作時(shí)間,將會(huì)采用漸進(jìn)性 rehash 操作,慢慢將所有鍵值對(duì)遷移到新哈希表中。

其實(shí)了解 Redis 字典的其中的原理,再去比較 Java HashMap ,其實(shí)可以發(fā)現(xiàn)這兩者有如此多的相似點(diǎn)。

所以學(xué)習(xí)這類知識(shí)時(shí),不要僅僅去背,我們要了解其底層原理,知其然知其所以然。

 

幫助資料https://redisbook.readthedocs.io/en/latest/internal-datastruct/dict.html

 

責(zé)任編輯:武曉燕 來(lái)源: Java極客技術(shù)
相關(guān)推薦

2022-05-17 20:37:41

MyPick泛型對(duì)象類型

2025-01-10 08:41:54

2021-01-31 16:01:43

對(duì)象引用原始值

2020-02-18 15:15:05

Handler消息隊(duì)列執(zhí)行任務(wù)

2022-12-11 23:43:06

2016-10-26 22:32:34

曙光

2023-07-13 08:19:30

HaspMapRedis元素

2024-12-19 13:27:22

2015-11-27 10:02:05

WindowsLinuxLabxNow

2021-01-12 08:21:46

Jvm類加載機(jī)制運(yùn)行區(qū)數(shù)據(jù)

2013-04-19 10:23:25

編程

2025-05-22 08:15:00

2025-03-20 09:54:47

2012-11-19 10:09:25

2024-01-15 06:42:00

高并發(fā)熱點(diǎn)賬戶數(shù)據(jù)庫(kù)

2014-08-04 10:48:35

職場(chǎng)IT職場(chǎng)

2018-02-07 10:24:01

Nginx服務(wù)器架構(gòu)

2021-09-07 11:20:02

binlogMySQL數(shù)據(jù)庫(kù)

2021-08-04 08:31:10

MySQL數(shù)據(jù)庫(kù)日志

2012-05-18 13:28:04

HTC
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲h片在线看| 国产三区在线播放| 精品久久电影| 91麻豆精品国产无毒不卡在线观看 | 精品乱码一区内射人妻无码| 911精品美国片911久久久| 欧美成人一区二区三区片免费| 欧美久久久久久久久久久久久| 精品影院一区| 国产成人高清视频| 国产精品久久久久aaaa九色| 国产黄在线免费观看| 小嫩嫩12欧美| 日韩欧美区一区二| 亚洲爆乳无码专区| 日韩成人伦理| 国产精品毛片久久久久久久| 国产在线一区二区三区欧美| 中文字幕 亚洲视频| 亚洲激情另类| 久久视频在线直播| 国产一区二区三区四区五区六区| 日韩精品一区二区三区中文在线| 91福利视频久久久久| 欧美一级爱爱视频| 欧美一级二级三级区| 成人免费高清在线观看| 成人av电影天堂| 亚洲男人的天堂在线视频| 伊人成综合网| 日韩中文字幕在线观看| 少妇光屁股影院| 超碰在线亚洲| 日韩一区二区三区视频在线观看 | tube国产麻豆| 欧美一区二区三区激情视频 | 97神马电影| 国产有码在线观看| 日韩电影在线观看网站| 97成人精品区在线播放| 国产极品在线播放| 欧美88av| 久久99久久亚洲国产| 日韩一区二区三区四区视频| 激情综合网五月| 亚洲乱码av中文一区二区| 制服丝袜第一页在线观看| 亚洲电影一区| 日韩欧美视频一区| 亚洲第一天堂久久| 欧美成人福利| 欧美日韩黄色一区二区| 免费看污污网站| 欧美日韩在线精品一区二区三区激情综合| 岛国视频午夜一区免费在线观看| 久久综合久久网| 大黄网站在线观看| 亚洲成人av在线电影| 男人天堂新网址| 在线你懂的视频| 尤物视频一区二区| 日韩小视频网站| 国内精彩免费自拍视频在线观看网址 | 免费中文字幕日韩| 先锋资源久久| 欧美另类第一页| 国产一卡二卡在线播放| 日韩午夜av在线| 欧美综合第一页| 日韩不卡高清视频| 理论电影国产精品| 91九色蝌蚪成人| 免费看国产片在线观看| 91视频免费看| 日韩欧美第二区在线观看| 18视频免费网址在线观看| 日韩一区欧美一区| 国产乱人伦精品一区二区三区| 日本在线观看高清完整版| 亚洲综合一区二区精品导航| 乱妇乱女熟妇熟女网站| 午夜日韩成人影院| 欧美日韩在线三区| 亚洲AV无码久久精品国产一区| 国产精品x8x8一区二区| 欧美tk丨vk视频| www.久久av| 午夜激情久久| 2018国产精品视频| 亚洲图片视频小说| 成人三级伦理片| 日韩一区二区三区资源| 污的网站在线观看| 色一区在线观看| 日本77777| 婷婷精品在线观看| 久久深夜福利免费观看| 国产成人在线免费视频| 日韩成人av影视| 高清免费日韩| 91社区在线观看| 一区二区三区加勒比av| 99视频在线免费| 亚洲高清999| 丝袜一区二区三区| 欧美成人精品欧美一级乱黄| 美美哒免费高清在线观看视频一区二区 | 久久夜精品香蕉| 国内自拍视频在线播放| 国产一区二区三区在线观看精品 | 免费日韩视频| 97在线电影| 亚洲麻豆精品| 日韩欧美在线视频| 日本xxxx免费| 99久久婷婷| 国产精品爱啪在线线免费观看| 朝桐光av在线一区二区三区| 亚洲国产精品v| 男人揉女人奶房视频60分 | 久久久久久久久久久久久9999| 秋霞成人影院| 欧洲一区在线观看| 少妇精品一区二区| 欧美激情日韩| 91久久综合亚洲鲁鲁五月天| 国产福利电影在线| 婷婷开心激情综合| 精品无码av一区二区三区不卡| 成人影视亚洲图片在线| 欧美专区在线观看| 三区在线观看| 欧美日韩国产在线看| 天天躁日日躁狠狠躁av| 欧美激情 亚洲a∨综合| 成人在线中文字幕| 天天综合视频在线观看| 在线观看日韩高清av| 玖玖爱在线观看| 99精品国产一区二区青青牛奶 | 性少妇videosexfreexxx片| 国产精品嫩草久久久久| 成年人在线观看视频免费| 少妇久久久久| 日本高清久久天堂| 看电影就来5566av视频在线播放| 五月开心婷婷久久| 北京富婆泄欲对白| 亚洲国产片色| 久久免费99精品久久久久久| 午夜伦理福利在线| 亚洲欧美日韩一区二区三区在线| 日本中文在线播放| 久久亚洲春色中文字幕久久久| 男女激情无遮挡| 任我爽精品视频在线播放| 26uuu国产精品视频| 午夜在线观看视频18| 福利微拍一区二区| 日本高清www| 日本系列欧美系列| 伊人情人网综合| 精品一区二区三区免费看| 九九久久久久99精品| 好吊视频一二三区| 欧美日韩一区二区在线| 精品无码一区二区三区| 日韩av网站在线观看| 中文字幕中文字幕99| 日韩精品一区国产| 91精品国产高清自在线看超| 天堂√在线中文官网在线| 亚洲成人av一区二区三区| www.av欧美| 久久精品国产成人一区二区三区| 久久免费视频2| 91蝌蚪精品视频| 国产91精品久久久久久| av电影在线观看一区二区三区| 5858s免费视频成人| 久久久综合久久| 久久久久久久久久电影| 一级淫片在线观看| 亚洲国产欧美国产综合一区| 先锋影音亚洲资源| 中文在线综合| 国产精品夫妻激情| 黄色小说在线播放| 一本久久综合亚洲鲁鲁| 性生活视频软件| 欧美丝袜自拍制服另类| 免费人成在线观看| 国产日韩一级二级三级| 成年人性生活视频| 久久中文在线| www.欧美黄色| 成人激情在线| 国产日韩精品久久| 六九午夜精品视频| 91国产一区在线| 成视频免费观看在线看| 亚洲精品影视在线观看| 国产偷拍一区二区| 色狠狠色噜噜噜综合网| 国产在线拍揄自揄拍| 国产精品入口麻豆原神| jlzzjizz在线播放观看| 国产精品一二三区| 婷婷六月天在线| 国产精品一二| 国产精品国产对白熟妇| 91免费精品| 色婷婷精品国产一区二区三区| 99国产精品久久一区二区三区| 国产精品视频26uuu| 欧美日韩在线观看首页| 欧美成人性生活| 中文字幕在线播放| 亚洲美女在线看| 日本国产在线观看| 91精品国产美女浴室洗澡无遮挡| 国产又粗又猛又黄视频| 舔着乳尖日韩一区| 免费一级全黄少妇性色生活片| 国产精品欧美一区二区三区| 天天躁日日躁aaaxxⅹ| 菠萝蜜视频在线观看一区| 中国老熟女重囗味hdxx| 久久国产视频网| 免费看污污网站| 日韩福利视频网| 国产v亚洲v天堂无码久久久| 国产模特精品视频久久久久| 国产精品成人久久电影| 在线不卡欧美| 黄色三级中文字幕| 午夜精品网站| 少妇大叫太大太粗太爽了a片小说| 亚洲乱码精品| 成年丰满熟妇午夜免费视频| 999久久久免费精品国产| 亚洲丰满在线| 欧美成免费一区二区视频| 亚洲国产一区二区三区在线| 日韩欧美大片| 一区不卡视频| 68国产成人综合久久精品| 国产盗摄视频在线观看| 中文字幕日韩一区二区不卡| 日本xxxxx18| 136国产福利精品导航网址| 三上悠亚久久精品| 国产日韩一区二区三区在线| 人妻熟妇乱又伦精品视频| 欧美一级一区| 一级黄色香蕉视频| 毛片av中文字幕一区二区| 日韩不卡一二三| 国产一区在线不卡| 亚洲最大视频网| 99精品偷自拍| 我不卡一区二区| 成人欧美一区二区三区白人| www.超碰在线观看| 五月婷婷激情综合| 手机在线看片1024| 欧美日韩一级黄| 精品区在线观看| 亚洲精品www| 黄色大片在线免费观看| 色偷偷av一区二区三区| 影音先锋在线视频| 5566日本婷婷色中文字幕97| 日韩漫画puputoon| 91九色国产社区在线观看| 超碰cao国产精品一区二区| 欧美三日本三级少妇三99| 四季av一区二区凹凸精品| 国产精品国三级国产av| 日日摸夜夜添夜夜添亚洲女人| 污网站在线免费| www..com久久爱| 亚洲不卡的av| 亚洲午夜久久久久久久久电影网| 日韩免费视频一区二区视频在线观看| 日本高清不卡在线观看| 国产欧美久久久| 亚洲欧美制服综合另类| 黄色网页在线免费看| 91wwwcom在线观看| 国产精品一站二站| 久久伊人资源站| 亚洲综合五月| 手机看片福利日韩| 懂色av噜噜一区二区三区av| 91l九色lporny| 亚洲午夜日本在线观看| 中文字幕乱码一区二区| 日韩av一区二区在线观看| 麻豆传媒在线免费| 日韩av电影手机在线观看| 国产一精品一av一免费爽爽| 欧美一区二区在线| 激情欧美亚洲| www.夜夜爽| 久久久五月婷婷| 国产无码精品在线播放| 欧美日韩国产经典色站一区二区三区| 婷婷av一区二区三区| 久久精品小视频| 色豆豆成人网| 精品一区在线播放| 欧美一区精品| 欧美女同在线观看| 久久日韩粉嫩一区二区三区| 精品少妇theporn| 777奇米成人网| 99久久精品无码一区二区毛片| 欧美成人精品一区二区男人看| 午夜欧美大片免费观看| 天堂久久一区| 欧美日韩综合精品| 亚洲日本激情| 黄色在线免费播放| 亚洲精品va在线观看| 亚洲影院一区二区三区| 亚洲日韩欧美视频| 美女在线视频免费| 国产精品swag| 国产伊人精品| gogo亚洲国模私拍人体| 亚洲欧美日本韩国| 国产精品久久久久久在线| 在线视频日韩精品| 欧美性片在线观看| 日本在线视频不卡| 美女国产精品| 日韩精品无码一区二区三区久久久 | 精品国产凹凸成av人导航| av网站免费在线观看| 91久久精品美女高潮| 天天射—综合中文网| 制服丝袜中文字幕第一页| 综合精品久久久| 一区二区三区精彩视频| 久久精品色欧美aⅴ一区二区| 精品乱码一区二区三区四区| 一本色道久久综合亚洲精品婷婷 | 久草手机视频在线观看| 欧美日韩成人综合天天影院| 又爽又大又黄a级毛片在线视频| 国产精品香蕉av| 久久免费av| 在线观看日本www| 亚洲精品你懂的| 国产精品区在线观看| 成年无码av片在线| 91亚洲无吗| 国产福利视频在线播放| 日本一区二区高清| 91精品人妻一区二区三区果冻| 久久久成人精品| 97人人澡人人爽91综合色| 欧美大片在线播放| 国产色产综合色产在线视频| 亚洲天堂国产精品| 欧美国产极速在线| 香蕉久久夜色精品国产更新时间| 国产男女激情视频| 成人欧美一区二区三区白人| 亚洲国产精品久久久久久久| 97精品视频在线| 久久一区二区三区电影| japan高清日本乱xxxxx| 姬川优奈aav一区二区| 国产精品影院在线| 亚洲mm色国产网站| 9国产精品视频| 欧美精品日韩在线| 精品久久久久久久久久久久久久久| 台湾佬中文娱乐网欧美电影| 亚洲一区高清| 99久久99久久精品国产片果冻 | 亚洲第一偷拍网| 欧美日韩视频免费观看| 国产精品一二三在线观看| 91免费国产在线| 国产美女精品视频国产| 51精品在线观看| 希岛爱理av一区二区三区| 亚洲精品女人久久久| 欧美精品九九99久久| 两个人看的在线视频www| 中文字幕剧情在线观看一区| caoporen国产精品视频| 97精品人妻一区二区三区香蕉 | 五月婷婷视频在线| 欧美成人精品在线播放| 色综合综合网| 久久国产免费视频|