日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HBase-1.2.4LruBlockCache实现分析(一)

發布時間:2023/11/29 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HBase-1.2.4LruBlockCache实现分析(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、簡介

? ? ??BlockCache是HBase中的一個重要特性,相比于寫數據時緩存為Memstore,讀數據時的緩存則為BlockCache。
? ? ? LruBlockCache是HBase中BlockCache的默認實現,它采用嚴格的LRU算法來淘汰Block。

二、緩存級別

? ? ? 目前有三種緩存級別,定義在BlockPriority中,如下:

public enum BlockPriority {/*** Accessed a single time (used for scan-resistance)*/SINGLE,/*** Accessed multiple times*/MULTI,/*** Block from in-memory store*/MEMORY }

? ? ? 1、SINGLE:主要用于scan等,避免大量的這種一次的訪問導致緩存替換;

? ? ? 2、MULTI:多次緩存;

? ? ? 3、MEMORY:常駐緩存的,比如meta信息等。

三、緩存實現分析

? ? ??LruBlockCache緩存的實現在方法cacheBlock()中,實現邏輯如下:

? ? ? 1、首先需要判斷需要緩存的數據大小是否超過最大塊大小,按照2%的頻率記錄warn類型log并返回;

? ? ? 2、從緩存map中根據cacheKey嘗試獲取已緩存數據塊cb;

? ? ? 3、如果已經緩存過,比對下內容,如果內容不一樣,拋出異常,否則記錄warn類型log并返回;

? ? ? 4、獲取當前緩存大小currentSize,獲取可以接受的緩存大小currentAcceptableSize,計算硬性限制大小hardLimitSize;

? ? ? 5、如果當前大小超過硬性限制,當回收沒在執行時,執行回收并返回,否則直接返回;

? ? ? 6、利用cacheKey、數據buf等構造Lru緩存數據塊實例cb;

? ? ? 7、將cb放置入map緩存中;

? ? ? 8、元素個數原子性增1;

? ? ? 9、如果新大小超過當前可以接受的大小,且未執行回收過程中,執行內存回收。

? ? ? 詳細代碼如下,可自行閱讀分析:

// BlockCache implementation/*** Cache the block with the specified name and buffer.* <p>* It is assumed this will NOT be called on an already cached block. In rare cases (HBASE-8547)* this can happen, for which we compare the buffer contents.* @param cacheKey block's cache key* @param buf block buffer* @param inMemory if block is in-memory* @param cacheDataInL1*/@Overridepublic void cacheBlock(BlockCacheKey cacheKey, Cacheable buf, boolean inMemory,final boolean cacheDataInL1) {// 首先需要判斷需要緩存的數據大小是否超過最大塊大小if (buf.heapSize() > maxBlockSize) {// If there are a lot of blocks that are too// big this can make the logs way too noisy.// So we log 2%if (stats.failInsert() % 50 == 0) {LOG.warn("Trying to cache too large a block "+ cacheKey.getHfileName() + " @ "+ cacheKey.getOffset()+ " is " + buf.heapSize()+ " which is larger than " + maxBlockSize);}return;}// 從緩存map中根據cacheKey嘗試獲取已緩存數據塊LruCachedBlock cb = map.get(cacheKey);if (cb != null) {// 如果已經緩存過// compare the contents, if they are not equal, we are in big troubleif (compare(buf, cb.getBuffer()) != 0) {// 比對緩存內容,如果不相等,拋出異常,否則記錄warn日志throw new RuntimeException("Cached block contents differ, which should not have happened."+ "cacheKey:" + cacheKey);}String msg = "Cached an already cached block: " + cacheKey + " cb:" + cb.getCacheKey();msg += ". This is harmless and can happen in rare cases (see HBASE-8547)";LOG.warn(msg);return;}// 獲取當前緩存大小long currentSize = size.get();// 獲取可以接受的緩存大小long currentAcceptableSize = acceptableSize();// 計算硬性限制大小long hardLimitSize = (long) (hardCapacityLimitFactor * currentAcceptableSize);if (currentSize >= hardLimitSize) {// 如果當前大小超過硬性限制,當回收沒在執行時,執行回收并返回stats.failInsert();if (LOG.isTraceEnabled()) {LOG.trace("LruBlockCache current size " + StringUtils.byteDesc(currentSize)+ " has exceeded acceptable size " + StringUtils.byteDesc(currentAcceptableSize) + " too many."+ " the hard limit size is " + StringUtils.byteDesc(hardLimitSize) + ", failed to put cacheKey:"+ cacheKey + " into LruBlockCache.");}if (!evictionInProgress) {// 當回收沒在執行時,執行回收并返回runEviction();}return;}// 利用cacheKey、數據buf等構造Lru緩存數據塊實例cb = new LruCachedBlock(cacheKey, buf, count.incrementAndGet(), inMemory);long newSize = updateSizeMetrics(cb, false);// 放置入map緩存中map.put(cacheKey, cb);// 元素個數原子性增1long val = elements.incrementAndGet();if (LOG.isTraceEnabled()) {long size = map.size();assertCounterSanity(size, val);}// 如果新大小超過當前可以接受的大小,且未執行回收過程中if (newSize > currentAcceptableSize && !evictionInProgress) {runEviction();// 執行內存回收}}四、淘汰緩存實現分析

? ? ? 淘汰緩存的實現方式有兩種:

? ? ? 1、第一種是在主線程中執行緩存淘汰;

? ? ? 2、第二種是在一個專門的淘汰線程中通過持有對外部類LruBlockCache的弱引用WeakReference來執行緩存淘汰。

? ? ? 應用那種方式,取決于構造函數中的boolean參數evictionThread,如下:

if(evictionThread) {this.evictionThread = new EvictionThread(this);this.evictionThread.start(); // FindBugs SC_START_IN_CTOR} else {this.evictionThread = null;}? ? ? 而在執行淘汰緩存的runEviction()方法中,有如下判斷:

/*** Multi-threaded call to run the eviction process.* 多線程調用以執行回收過程*/private void runEviction() {if(evictionThread == null) {// 如果未指定回收線程evict();} else {// 如果執行了回收線程evictionThread.evict();}}? ? ? ? 而EvictionThread的evict()實現如下:

@edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NN_NAKED_NOTIFY",justification="This is what we want")public void evict() {synchronized(this) {this.notifyAll();}}? ? ? ? 通過synchronized獲取EvictionThread線程的對象鎖,然后主線程通過回收線程對象的notifyAll喚醒EvictionThread線程,那么這個線程是何時wait的呢?答案就在其run()方法中,notifyAll()之后,線程run()方法得以繼續執行:

@Overridepublic void run() {enteringRun = true;while (this.go) {synchronized(this) {try {this.wait(1000 * 10/*Don't wait for ever*/);} catch(InterruptedException e) {LOG.warn("Interrupted eviction thread ", e);Thread.currentThread().interrupt();}}LruBlockCache cache = this.cache.get();if (cache == null) break;cache.evict();}}? ? ? ? 線程會wait10s,放棄對象鎖,在notifyAll()后,繼續執行后面的淘汰流程,即:

/*** Eviction method.*/void evict() {// Ensure only one eviction at a time// 通過可重入互斥鎖ReentrantLock確保同一時刻只有一個回收在執行if(!evictionLock.tryLock()) return;try {// 標志位,是否正在進行回收過程evictionInProgress = true;// 當前緩存大小long currentSize = this.size.get();// 計算應該釋放的緩沖大小bytesToFreelong bytesToFree = currentSize - minSize();if (LOG.isTraceEnabled()) {LOG.trace("Block cache LRU eviction started; Attempting to free " +StringUtils.byteDesc(bytesToFree) + " of total=" +StringUtils.byteDesc(currentSize));}// 如果需要回收的大小小于等于0,直接返回if(bytesToFree <= 0) return;// Instantiate priority buckets// 實例化優先級隊列:single、multi、memoryBlockBucket bucketSingle = new BlockBucket("single", bytesToFree, blockSize,singleSize());BlockBucket bucketMulti = new BlockBucket("multi", bytesToFree, blockSize,multiSize());BlockBucket bucketMemory = new BlockBucket("memory", bytesToFree, blockSize,memorySize());// Scan entire map putting into appropriate buckets// 掃描緩存,分別加入上述三個優先級隊列for(LruCachedBlock cachedBlock : map.values()) {switch(cachedBlock.getPriority()) {case SINGLE: {bucketSingle.add(cachedBlock);break;}case MULTI: {bucketMulti.add(cachedBlock);break;}case MEMORY: {bucketMemory.add(cachedBlock);break;}}}long bytesFreed = 0;if (forceInMemory || memoryFactor > 0.999f) {// 如果memoryFactor或者InMemory緩存超過99.9%,long s = bucketSingle.totalSize();long m = bucketMulti.totalSize();if (bytesToFree > (s + m)) {// 如果需要回收的緩存超過則全部回收Single、Multi中的緩存大小和,則全部回收Single、Multi中的緩存,剩余的則從InMemory中回收// this means we need to evict blocks in memory bucket to make room,// so the single and multi buckets will be emptiedbytesFreed = bucketSingle.free(s);bytesFreed += bucketMulti.free(m);if (LOG.isTraceEnabled()) {LOG.trace("freed " + StringUtils.byteDesc(bytesFreed) +" from single and multi buckets");}// 剩余的則從InMemory中回收bytesFreed += bucketMemory.free(bytesToFree - bytesFreed);if (LOG.isTraceEnabled()) {LOG.trace("freed " + StringUtils.byteDesc(bytesFreed) +" total from all three buckets ");}} else {// 否則,不需要從InMemory中回收,按照如下策略回收Single、Multi中的緩存:嘗試讓single-bucket和multi-bucket的比例為1:2// this means no need to evict block in memory bucket,// and we try best to make the ratio between single-bucket and// multi-bucket is 1:2long bytesRemain = s + m - bytesToFree;if (3 * s <= bytesRemain) {// single-bucket足夠小,從multi-bucket中回收// single-bucket is small enough that no eviction happens for it// hence all eviction goes from multi-bucketbytesFreed = bucketMulti.free(bytesToFree);} else if (3 * m <= 2 * bytesRemain) {// multi-bucket足夠下,從single-bucket中回收// multi-bucket is small enough that no eviction happens for it// hence all eviction goes from single-bucketbytesFreed = bucketSingle.free(bytesToFree);} else {// single-bucket和multi-bucket中都回收,且盡量滿足回收后比例為1:2// both buckets need to evict some blocksbytesFreed = bucketSingle.free(s - bytesRemain / 3);if (bytesFreed < bytesToFree) {bytesFreed += bucketMulti.free(bytesToFree - bytesFreed);}}}} else {// 否則,從三個隊列中循環回收PriorityQueue<BlockBucket> bucketQueue =new PriorityQueue<BlockBucket>(3);bucketQueue.add(bucketSingle);bucketQueue.add(bucketMulti);bucketQueue.add(bucketMemory);int remainingBuckets = 3;BlockBucket bucket;while((bucket = bucketQueue.poll()) != null) {long overflow = bucket.overflow();if(overflow > 0) {long bucketBytesToFree = Math.min(overflow,(bytesToFree - bytesFreed) / remainingBuckets);bytesFreed += bucket.free(bucketBytesToFree);}remainingBuckets--;}}if (LOG.isTraceEnabled()) {long single = bucketSingle.totalSize();long multi = bucketMulti.totalSize();long memory = bucketMemory.totalSize();LOG.trace("Block cache LRU eviction completed; " +"freed=" + StringUtils.byteDesc(bytesFreed) + ", " +"total=" + StringUtils.byteDesc(this.size.get()) + ", " +"single=" + StringUtils.byteDesc(single) + ", " +"multi=" + StringUtils.byteDesc(multi) + ", " +"memory=" + StringUtils.byteDesc(memory));}} finally {// 重置標志位,釋放鎖等stats.evict();evictionInProgress = false;evictionLock.unlock();}}

? ? ? ? 邏輯比較清晰,如下:

? ? ? ? 1、通過可重入互斥鎖ReentrantLock確保同一時刻只有一個回收在執行;

? ? ? ? 2、設置標志位evictionInProgress,是否正在進行回收過程為true;

? ? ? ? 3、獲取當前緩存大小currentSize;

? ? ? ? 4、計算應該釋放的緩沖大小bytesToFree:currentSize - minSize();

? ? ? ? 5、如果需要回收的大小小于等于0,直接返回;

? ? ? ? 6、實例化優先級隊列:single、multi、memory;

? ? ? ? 7、掃描緩存,分別加入上述三個優先級隊列;

? ? ? ? 8、如果forceInMemory或者InMemory緩存超過99.9%:

? ? ? ? ? ? ? 8.1、如果需要回收的緩存超過則全部回收Single、Multi中的緩存大小和,則全部回收Single、Multi中的緩存,剩余的則從InMemory中回收(this means we need to evict blocks in memory bucket to make room,so the single and multi buckets will be emptied):

? ? ? ? ? ? ? 8.2、否則,不需要從InMemory中回收,按照如下策略回收Single、Multi中的緩存:嘗試讓single-bucket和multi-bucket的比例為1:2:

? ? ? ? ? ? ? ? ? ? ? ? 8.2.1、?single-bucket足夠小,從multi-bucket中回收;

? ? ? ? ? ? ? ? ? ? ? ? 8.2.2、?multi-bucket足夠小,從single-bucket中回收;

? ? ? ? ? ? ? ? ? ? ? ? 8.2.3、single-bucket和multi-bucket中都回收,且盡量滿足回收后比例為1:2;

? ? ? ? 9、否則,從三個隊列中循環回收;

? ? ? ? 10、最后,重置標志位,釋放鎖等。

四、實例化

? ? ? ? 參見《HBase-1.2.4 Allow block cache to be external分析》最后。







總結

以上是生活随笔為你收集整理的HBase-1.2.4LruBlockCache实现分析(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久草在线中文888 | 黄色网大全 | 色黄久久久久久 | 人人澡人人爽欧一区 | 国产精品久久久久免费观看 | 久久专区 | 日韩av午夜在线观看 | 亚洲理论在线 | 国产高清免费观看 | av免费观看网站 | 探花视频免费观看 | av大全免费在线观看 | 激情视频免费在线观看 | 在线国产片 | 69热国产视频 | 中文字幕一区二区三区乱码在线 | 91在线成人 | 欧美亚洲精品在线观看 | 手机在线看片日韩 | 精品视频在线看 | 精品免费一区二区三区 | 国产视频在线免费 | 天天干天天做天天操 | 日韩视频在线观看免费 | 精品久久久久久一区二区里番 | 深爱婷婷| 98超碰人人| 日韩va在线观看 | 成人av免费网站 | 精品久久久国产 | 国产精品视频不卡 | 久久精品美女视频 | 国产成人精品在线播放 | 久久综合久久综合久久 | 国产一区二区网址 | 婷婷色中文网 | 亚洲第一区在线观看 | 中文字幕亚洲欧美日韩 | 精品国产黄色片 | 国产成人精品一区二 | 久久99久国产精品黄毛片入口 | 免费福利小视频 | 久久久久一区二区三区 | 五月天狠狠操 | 亚洲美女精品 | 玖玖玖国产精品 | 奇米导航 | 久久婷婷五月综合色丁香 | 久久99在线观看 | 久久国产成人午夜av影院潦草 | 久久久久久久久久久网 | 国产喷水在线 | 成人三级网站在线观看 | 久久精品一区二区三 | 久久精品人人做人人综合老师 | 久久久国产精品久久久 | 日韩免费视频线观看 | 97国产精品免费 | 国产精品精品久久久久久 | 亚洲区另类春色综合小说 | 久久精品视频在线播放 | 国产日韩中文字幕在线 | 日韩在线短视频 | 97狠狠干| 亚洲综合在线发布 | 草久视频在线观看 | 日韩中文字幕在线看 | 精品国产欧美一区二区三区不卡 | 久热色超碰 | 国产在线日韩 | 免费国产黄线在线观看视频 | 国产日本亚洲高清 | 丁香婷婷激情国产高清秒播 | aav在线| 成人精品视频久久久久 | 99亚洲精品视频 | 99av在线视频 | 中文字幕视频网站 | 激情欧美一区二区三区免费看 | 91黄色免费看 | 最新国产一区二区三区 | 911精品视频 | 免费观看9x视频网站在线观看 | 亚洲人人av | 久久婷婷开心 | 99色网站| 婷婷免费在线视频 | 国产999精品久久久久久绿帽 | 狠狠干夜夜 | 天堂av网址| 在线免费中文字幕 | 久久久黄视频 | 在线精品亚洲一区二区 | 伊人色综合网 | 国产专区欧美专区 | www视频在线免费观看 | 日日精品 | 久久精品久久99精品久久 | 亚洲国产中文字幕在线观看 | 欧美男男tv网站 | 欧美日韩超碰 | 91免费看黄色 | 国产一区自拍视频 | 99r在线播放 | 久草久热| 日韩在线电影一区二区 | 久久69av| 国产视频一区二区三区在线 | 综合网天天色 | 五月婷久| 中文字幕色在线 | 久久黄色小说 | 999电影免费在线观看2020 | 日韩在线免费电影 | 国产亚洲成人精品 | 国产精品视频线看 | 久久久www成人免费毛片 | 国产日韩精品一区二区 | 精品在线观看视频 | 99久久久久久国产精品 | 成年人在线免费看视频 | 日韩欧美视频一区二区三区 | 日韩成人精品在线观看 | 国产97视频 | 亚洲精品乱码久久久久久9色 | 婷婷激情5月天 | 国产精品每日更新 | 成人久久毛片 | 99中文字幕 | www.干| 91av影视 | 亚洲午夜久久久久久久久 | 午夜国产福利在线观看 | 五月天狠狠操 | 丁香九月激情综合 | 色婷婷久久 | 999成人 | 久久蜜臀一区二区三区av | 天天射天天干 | 久热这里有精品 | 免费福利在线视频 | 婷婷综合导航 | 久久精品国产精品亚洲精品 | 亚洲男人天堂2018 | 伊人天天色| 91av福利视频 | 欧美激情视频一区二区三区免费 | 樱空桃av | 蜜臀久久99精品久久久酒店新书 | 不卡视频在线 | 超碰午夜| 狠狠色狠狠色终合网 | 狠狠伊人 | 免费福利片2019潦草影视午夜 | 亚洲成人黄色在线 | 国产精品久久久久久久午夜片 | 国产精品理论片在线播放 | 欧美日韩精品二区第二页 | 综合网成人 | 狠狠狠狠狠狠 | 婷婷色网视频在线播放 | 午夜在线免费观看 | 狠日日| 成人99免费视频 | 亚洲三级性片 | 久久电影日韩 | 91视频xxxx| 国产一区二区三区免费视频 | 在线黄色免费av | 天天操天天干天天摸 | www.夜夜操| 草久在线 | 久久伦理电影 | 成人av片免费观看app下载 | 国产精品亚洲成人 | 国产精品国内免费一区二区三区 | 欧美在线资源 | 日本不卡一区二区三区在线观看 | 黄色视屏在线免费观看 | 美女视频黄在线观看 | 欧美日韩免费一区二区三区 | 五月天综合 | 色网av | 国产美女黄网站免费 | 特级西西444www高清大视频 | av青草 | 日韩视频一区二区三区在线播放免费观看 | 免费精品在线视频 | 四虎影视4hu4虎成人 | 精品视频99 | 欧美一二区视频 | 美女禁18| 成人午夜电影在线播放 | 久久亚洲综合国产精品99麻豆的功能介绍 | 精品久久久久久久久久久久久久久久久久 | 91黄视频在线观看 | 在线看日韩| 天天操天天射天天爽 | 国产成人亚洲在线观看 | 亚洲精品在线观看中文字幕 | 国产成人av | 国产视频网站在线观看 | www.在线看片.com | av中文字幕在线播放 | www.久久爱.cn | 久久精品3 | 99久久久久免费精品国产 | 日韩在线观看第一页 | 国产精品美女久久久久久久久久久 | 国产美女无遮挡永久免费 | www色网站| www.xxxx变态.com| 亚洲国产黄色片 | 免费视频 你懂的 | 中文字幕一区2区3区 | 国产精品久久久久久久99 | 国产九色视频在线观看 | 日日天天av | 日韩电影中文字幕 | 久久99深爱久久99精品 | 手机看片国产 | 免费情缘| 五月精品 | 麻豆视频一区 | 日韩一级理论片 | 色网站黄 | 久久精选 | 欧美极品少妇xxxx | 国产破处精品 | 亚洲黄色小说网址 | 男女免费视频观看 | 亚洲精品在线视频网站 | 激情欧美一区二区三区 | 亚洲性xxxx | 在线播放国产一区二区三区 | 国产成人av一区二区三区在线观看 | 中文十次啦 | av日韩中文| 9797在线看片亚洲精品 | 国产精品成人一区二区三区 | 国产精品久久久久久久久久白浆 | 在线观看av网 | 欧美日韩三级 | 久99久在线 | 99色婷婷 | 91av社区 | 免费看黄的 | 在线观看视频97 | 中文字幕在线观看日本 | 在线精品亚洲一区二区 | 日韩精品久久久久久久电影竹菊 | 91丨九色丨勾搭 | 天天狠狠干 | 一级一级一片免费 | 久久天天躁夜夜躁狠狠躁2022 | 丁香高清视频在线看看 | 人人爽久久久噜噜噜电影 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 在线免费观看不卡av | 成人在线视频观看 | 国产精品自产拍 | 中文字幕a∨在线乱码免费看 | 97碰在线视频 | 国产精品网红直播 | av中文字幕在线免费观看 | 三级黄色在线 | 久久视频网 | 亚洲国产精品传媒在线观看 | 日韩av不卡在线观看 | 国产精品99久久久久的智能播放 | 免费观看一级 | 丁香伊人网 | 日韩精品久久中文字幕 | 在线观看国产区 | 日韩69视频 | a特级毛片 | 激情导航| 香蕉看片| 99r在线 | 九热在线| 成人在线观看免费视频 | 免费久草视频 | 少妇精69xxtheporn | 亚洲高清视频在线播放 | 国产欧美综合在线观看 | 国产香蕉视频在线观看 | 久久精品国产亚洲精品 | 777xxx欧美| 91日韩精品| 九九热精品视频在线观看 | 久久午夜羞羞影院 | 国产一区在线视频 | 国产91影视 | 欧美一区在线观看视频 | 亚洲一级片在线看 | 久久精品亚洲一区二区三区观看模式 | 99精品国产在热久久下载 | 久久久网址 | 欧美a视频在线观看 | 免费一级毛毛片 | 久草在线免费看视频 | 国产专区精品 | 精品久久精品久久 | 一区二区三区日韩在线观看 | 超碰久热| 国产精品久久久久久电影 | 亚洲性xxxx | 久青草视频在线观看 | 成人wwwxxx视频 | 伊人看片| 特黄特黄的视频 | 久久香蕉国产 | 四虎国产精 | 久久精品高清视频 | 欧美伦理一区二区三区 | 三级av片 | 月下香电影| 好看的国产精品视频 | 在线视频第一页 | 亚洲精品美女视频 | 麻豆影视在线观看 | 久久国产成人午夜av影院宅 | 亚洲专区在线播放 | 91精品福利在线 | 日韩av看片 | 天天操天天综合网 | 日本爱爱免费 | 天天夜夜亚洲 | 丁香5月婷婷 | 一区二区三区中文字幕在线观看 | 日韩免费视频网站 | 国产精品大片在线观看 | 国产精品1区2区 | 亚洲国产精品一区二区尤物区 | 91丨九色丨蝌蚪丨老版 | 欧美激情视频一二三区 | 国产乱对白刺激视频不卡 | 日韩在线免费 | zzijzzij日本成熟少妇 | 色婷婷五 | 国产亚洲视频中文字幕视频 | 永久中文字幕 | 亚洲成aⅴ人片久久青草影院 | 少妇按摩av | 亚洲毛片在线观看. | 欧美五月婷婷 | 精品久久久久久亚洲综合网站 | 欧美一区二视频在线免费观看 | 国产精品99久久久久久久久久久久 | 美女免费黄视频网站 | 久久深爱网 | 国产原创在线视频 | 国产在线观看免费 | 国产精品99久久久久久久久久久久 | wwxxxx日本| www.久久婷婷 | 国产成人精品免费在线观看 | 99色在线视频| 免费看黄色小说的网站 | 一区二区视频免费在线观看 | 欧美另类调教 | 激情小说网站亚洲综合网 | 久久人人爽人人爽人人片 | 在线中文字幕网站 | 日韩欧美在线观看一区二区 | 久操视频在线免费看 | 免费看一级特黄a大片 | 蜜臀av性久久久久蜜臀av | 亚洲精品日韩一区二区电影 | 日韩综合一区二区 | 午夜国产福利在线 | 日本黄区免费视频观看 | 国产日韩精品久久 | 成人国产精品久久久久久亚洲 | 国产亚洲精品成人av久久ww | 久久伦理影院 | 亚洲另类久久 | 91色亚洲 | 亚洲电影久久久 | 91亚洲精品久久久中文字幕 | 人人射人人爽 | 精品美女国产在线 | 亚洲一级影院 | 欧美色图狠狠干 | 日韩二区三区在线观看 | 日韩精品久久久久久久电影99爱 | 超碰在线最新地址 | 国产一区观看 | 夜夜躁狠狠躁日日躁视频黑人 | 在线免费中文字幕 | 精品视频专区 | 国产精品 欧美 日韩 | www.久久久 | 伊人亚洲综合 | 99热在线精品观看 | 黄色影院在线播放 | 国产一级片在线播放 | 欧美日韩一区二区三区免费视频 | 欧美大片www| 蜜臀av性久久久久蜜臀aⅴ四虎 | 色激情五月 | av电影在线观看 | 狠狠色狠狠色综合日日小说 | 狠狠色噜噜狠狠狠狠 | 九九免费在线视频 | 久久久久久久久国产 | 婷婷六月天天 | 欧美日韩国产区 | 欧美午夜精品久久久久久浪潮 | 91插插插网站 | 国色天香在线观看 | 亚洲人视频在线 | 日日天天 | 久久久久久久综合色一本 | 欧美成天堂网地址 | 久久免费视频8 | 亚洲国产69| 免费一级片视频 | 在线 国产 日韩 | 91爱爱视频 | 99久久精品国产一区二区三区 | 久久情网 | 又湿又紧又大又爽a视频国产 | 六月丁香激情网 | 五月天六月丁香 | 国际精品久久久 | 婷婷四房综合激情五月 | 精品国产福利在线 | 又黄又爽免费视频 | 久久爱资源网 | 狠狠操天天射 | 亚洲综合小说电影qvod | 国产午夜精品久久 | 最近高清中文在线字幕在线观看 | 亚洲污视频 | 美女国产网站 | 国产高清精品在线 | 在线观看福利网站 | 亚洲aⅴ在线 | 国产精品视频app | 九九九国产 | 久久精品网站免费观看 | 91污在线 | 久久99精品国产99久久6尤 | 成人av电影在线播放 | 91看片网址 | 国产精品久久久久久久久久久久 | 在线91av| 久久精品国产亚洲aⅴ | 色视频在线看 | 日本成人免费在线观看 | 亚州精品成人 | 国产91精品看黄网站在线观看动漫 | 中文字幕在线影院 | 超碰成人免费电影 | 国产高清av免费在线观看 | 久久久免费精品 | 一级性视频 | 亚洲一区二区麻豆 | www.xxxx欧美 | 久久免费资源 | 亚洲精品视频网站在线观看 | 麻豆91视频 | 日韩一区二区免费在线观看 | 国产精品久久久久久久免费 | 69国产盗摄一区二区三区五区 | 亚洲最新精品 | 国产黄色理论片 | 天天色天天射综合网 | 99精品视频免费全部在线 | 免费看的黄网站软件 | 中文字幕久久久精品 | 亚洲永久字幕 | 国产一级大片免费看 | 又大又硬又黄又爽视频在线观看 | 日本免费久久高清视频 | 久久久久久在线观看 | 在线观看第一页 | 免费看黄在线网站 | 成人午夜电影久久影院 | 午夜av一区 | 最近免费中文字幕大全高清10 | 9999在线 | 久久综合久久久 | 最近中文字幕在线 | 日韩一区二区三区视频在线 | 依人成人综合网 | 日韩欧美91 | 在线黄色国产 | 欧美在一区| 国产手机视频 | 久久a级片 | 成人毛片一区二区三区 | 午夜精品一区二区三区免费 | 97视频人人澡人人爽 | av国产在线观看 | 色综合国产 | 黄色av电影一级片 | 亚洲欧美国产精品va在线观看 | 毛片888| www日韩精品 | 99视频在线播放 | 久久精品最新 | 久久艹中文字幕 | 日本久久久亚洲精品 | 日本中文字幕在线免费观看 | 综合av在线 | 99视频国产在线 | 狠狠色丁香久久婷婷综合五月 | 精品国产欧美一区二区三区不卡 | 中文字幕资源在线观看 | www日 | 亚洲九九九 | 96精品视频| 久草在线在线 | 精品在线观看一区二区三区 | av亚洲产国偷v产偷v自拍小说 | 一区二区三区在线视频111 | 亚洲欧美偷拍另类 | 伊人五月天.com | 99999精品视频 | 91在线国产观看 | 色在线免费视频 | 在线天堂8√| 嫩草伊人久久精品少妇av | 97精品国自产拍在线观看 | 国产午夜在线观看视频 | 精品中文字幕在线 | 在线视频 区 | 久草观看 | 国产又粗又猛又色又黄视频 | 亚洲激情久久 | 最新真实国产在线视频 | 深爱五月网 | 亚州欧美精品 | 福利视频第一页 | 久保带人 | 国产精品久久久久久爽爽爽 | 国产精美视频 | 精品久久久久久久久久 | 久久 一区 | 日韩视频在线观看视频 | 亚洲欧美日韩精品一区二区 | 在线观看岛国av | av免费高清观看 | 97超碰资源网 | 日本中文在线播放 | 亚洲国产av精品毛片鲁大师 | 中文字幕av电影下载 | 中文字幕免费播放 | av亚洲产国偷v产偷v自拍小说 | 国产性天天综合网 | 欧美日韩中 | 99re亚洲国产精品 | 日韩欧美精品在线观看 | 精品成人a区在线观看 | 国产精品久久久久影院 | 亚洲三级网 | 国产一区二区在线免费观看 | 日韩美女av在线 | 最新动作电影 | 91 在线视频播放 | 国产精品久久久久久影院 | 亚洲精品裸体 | 欧美精品免费在线观看 | 日本高清中文字幕有码在线 | 右手影院亚洲欧美 | 日韩网站在线看片你懂的 | 天天操天天操天天操 | 99国产一区二区三精品乱码 | 亚洲精选久久 | 国产一区二区三区高清播放 | 蜜臀精品久久久久久蜜臀 | 亚洲激情在线观看 | 国产视频资源在线观看 | 少妇bbbb搡bbbb桶 | 欧美色噜噜 | 五月婷婷一区二区三区 | 色狠狠综合天天综合综合 | 国产高清在线视频 | 国产欧美日韩精品一区二区免费 | 天堂av在线7| 久久综合影视 | 中文字幕国内精品 | 一级久久久| 在线看国产 | 国产一级二级视频 | 99精品小视频 | 97电影网手机版 | 久久伦理电影网 | 午夜精品久久久久久 | 色网站在线 | 国产小视频精品 | 国产无吗一区二区三区在线欢 | 日韩av中文字幕在线 | 中文字幕在线观看完整版 | 久久免费视频观看 | 91在线播放视频 | 超碰97av在线 | 久久96国产精品久久99漫画 | 国产最新视频在线 | 中文字幕av在线播放 | www久 | 91久久国产露脸精品国产闺蜜 | 国产黄色高清 | 国产性天天综合网 | 成人全视频免费观看在线看 | 欧美亚洲另类在线视频 | 99精品国产一区二区三区麻豆 | 免费色黄 | 欧美日韩免费一区二区 | 韩国av一区二区三区在线观看 | 久久免费精品国产 | 欧美日在线 | 五月天婷婷视频 | 日韩国产欧美在线视频 | 亚洲欧美一区二区三区孕妇写真 | 欧美国产日韩在线观看 | 国产日产精品一区二区三区四区 | 中文字幕视频观看 | 亚洲第一香蕉视频 | av中文在线播放 | 91亚洲精品乱码久久久久久蜜桃 | 又污又黄的网站 | 国产又粗又猛又爽又黄的视频免费 | 亚洲精选99 | 亚洲影音先锋 | 亚洲九九爱 | 国产免费叼嘿网站免费 | 蜜臀久久99精品久久久无需会员 | 国产在线视频一区 | 国产最顶级的黄色片在线免费观看 | 亚洲人成网站精品片在线观看 | 国产香蕉视频在线播放 | 日韩中文三级 | 97精产国品一二三产区在线 | 四虎国产精品成人免费4hu | 一 级 黄 色 片免费看的 | 久久综合狠狠狠色97 | 成人免费网视频 | 国产a级片免费观看 | 色婷婷视频在线 | 91成人免费观看视频 | 视频国产在线 | 亚洲精品免费观看视频 | 午夜私人影院 | 国产综合精品久久 | 免费高清影视 | 成人一级免费电影 | 久草网视频在线观看 | 91视频在线免费看 | 色婷婷一区 | 日韩在线二区 | 一区二区精品在线观看 | 四虎永久免费在线观看 | 91视频在线观看下载 | 天堂av最新网址 | 丁香激情综合久久伊人久久 | 国产精品亚洲片夜色在线 | 日本中文字幕在线免费观看 | 三级黄色片子 | 天天操操操操操操 | 久久综合五月 | 91精品啪在线观看国产81旧版 | 日韩黄色一区 | 久草视频手机在线 | 色网站在线免费观看 | 久久国产精品电影 | 久久午夜鲁丝片 | 国产玖玖精品视频 | 在线观看福利网站 | 国产精品久久久777 成人手机在线视频 | 亚洲免费在线视频 | 国产第一页福利影院 | 中文字幕在线播放一区二区 | 国产一级视屏 | av网站免费线看精品 | 网站免费黄色 | 中文 一区二区 | 色七七亚洲影院 | 成年人黄色大片在线 | 日韩高清免费在线观看 | 精品国产成人 | 中文字幕一区二区三区四区视频 | 欧美视频一区二 | 在线观看一级片 | 激情久久伊人 | 亚洲最新av在线网站 | 久久精品视频在线观看 | 综合婷婷 | 五月天激情综合 | 亚洲天堂网站 | 色天天中文 | 国产精品一区二区三区视频免费 | 日韩精品一区电影 | 亚洲精品综合在线 | 久久五月精品 | 中文字幕高清有码 | www.天天操.com | 国产成人免费观看久久久 | 久久精品免费看 | 久久久久久国产精品久久 | 天天干天天射天天插 | 99草视频 | 2019中文字幕第一页 | 日韩激情精品 | av中文字幕免费在线观看 | 久99久视频| 国产精品久久久久久爽爽爽 | 中文字幕av专区 | 亚洲欧美成人在线 | 精壮的侍卫呻吟h | 国产精品一区二区中文字幕 | 国产夫妻性生活自拍 | 日韩免费在线观看视频 | 免费观看第二部31集 | 日日草天天草 | 久久在线看 | 天天色天天射综合网 | 五月激情久久久 | 婷婷在线色 | 黄色的片子 | 五月婷婷综合激情 | 国产精品久久久久久超碰 | 999成人网 | 日本h在线播放 | 亚洲精品在线免费播放 | 色综合中文综合网 | 国产精品夜夜夜一区二区三区尤 | 天天插伊人 | 国产精品手机在线播放 | 91桃花视频 | 手机在线看片日韩 | 精品国产伦一区二区三区观看体验 | 日本乱码在线 | 欧美在一区 | a级片在线播放 | 国产区久久 | 欧美精品中文字幕亚洲专区 | 精品一区二区三区在线播放 | 精品亚洲成a人在线观看 | 最新av免费在线观看 | 午夜免费电影院 | 久久久高清一区二区三区 | 天天做天天看 | 欧美国产日韩在线观看 | 成人午夜影院在线观看 | 97日日碰人人模人人澡分享吧 | 亚洲成人国产精品 | 一级黄网 | 亚洲欧洲xxxx | 又污又黄的网站 | 五月婷婷开心中文字幕 | 国产激情小视频在线观看 | 五月婷婷综合在线观看 | 亚洲精品黄 | 日韩精品一区二 | 96久久久 | 国产欧美久久久精品影院 | 欧美精品二区 | 综合视频在线 | 狠狠狠狠狠狠狠 | 久久电影日韩 | 黄污在线看 | 精品国产理论片 | 婷婷伊人综合亚洲综合网 | 久久99久久99精品中文字幕 | 久久黄色片| 国产日本亚洲高清 | 91视频网址入口 | 成人av网址大全 | 在线黄色免费 | 亚洲视频免费在线观看 | 欧美成人久久 | 成人9ⅰ免费影视网站 | 亚洲综合射 | 丝袜美腿在线 | 欧美另类z0zx | 欧美aaa一级 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 九九精品毛片 | 三级av在线 | 久久精品久久久久 | 国产成人av综合色 | 91精品国产综合久久久久久久 | a v在线视频| 2024国产精品视频 | 又粗又长又大又爽又黄少妇毛片 | 国产a高清 | 亚洲欧洲日韩在线观看 | 中文字幕亚洲国产 | 久久免费av | 99这里有精品 | 欧美综合在线视频 | 日韩精品欧美一区 | 在线免费观看视频你懂的 | av播放在线 | 二区三区在线视频 | 天天天操操操 | 综合色婷婷 | 天天干一干| 日本字幕网 | 国产精品嫩草55av | 国产精品久久久久久久久大全 | 三级av小说| 一级黄色在线视频 | 欧美激情另类文学 | 色综合久久五月天 | 欧美在线一级片 | 久久精品99国产精品酒店日本 | 色福利网 | www.夜夜操.com| 国产99久久久国产精品成人免费 | 久久久国产精华液 | 黄色国产在线观看 | 久久久www| 亚洲 欧洲av| 五月婷婷综合在线 | 成年人视频免费在线 | 美女在线观看网站 | www色综合| 国产黄色网 | 99热日本| 亚洲精品午夜久久久久久久 | 99re8这里有精品热视频免费 | 国产精品电影一区二区 | 国产亚洲欧美一区 | 久久国产日韩 | 精品久久久久久久久久久久久久久久久久 | 一区二区三区在线免费观看视频 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 午夜影视av | 久久国产精品一二三区 | 日韩丝袜在线观看 | 国产麻豆精品95视频 | 日批视频 | 热久久99这里有精品 | 精品视频久久久久久 | 日韩av中文字幕在线免费观看 | 69亚洲乱 | 婷婷丁香久久五月婷婷 | 日韩高清久久 | 人人插人人 | 91精品国产自产老师啪 | 久久伊人八月婷婷综合激情 | 国内精品99| 免费观看十分钟 | 国产精品99久久久久久宅男 | 欧美性生交大片免网 | 人人爽人人爽人人片av | 国产亚洲精品久久久久久无几年桃 | 伊人手机在线 | 色婷婷色 | 在线免费日韩 | 亚洲视频精选 | 偷拍精品一区二区三区 | 久久免费精品一区二区三区 | 国产粉嫩在线 | 亚洲三级在线免费观看 | 久草在线免费新视频 | 亚洲国产中文字幕在线 | 69av网| 三级av在线播放 | 青春草视频在线播放 | 日韩欧美在线视频一区二区 | 国产综合精品久久 | 久久99国产精品久久99 | 免费情趣视频 | 97国产大学生情侣白嫩酒店 | 国产精品二区在线 | 中文字幕在线观 | 日本在线精品视频 | 免费看久久久 | 91在线一区二区 | 精品久久久久久久久久久久久 | 97香蕉超级碰碰久久免费软件 | 日韩高清精品免费观看 | 日韩 在线a | 婷婷色中文 | 亚洲v精品| 国产视频精品免费 | av三级av | 手机成人免费视频 | 天天操夜夜看 | 久久婷婷丁香 | 91精品国产综合久久福利 | 久久亚洲私人国产精品 | 久久久久久久久久久免费 | 亚洲黄色免费 | 一区二区伦理 | 午夜精品久久一牛影视 | 经典三级一区 | 久久福利综合 | 不卡的一区二区三区 | 91av在线国产 | 黄色在线看网站 | 香蕉视频在线网站 | 91传媒在线观看 | 亚洲国产99| 国产精品免费一区二区三区在线观看 | 国产精品18久久久久久久久久久久 | 天天玩天天干 | 在线视频欧美亚洲 | 久久综合色综合88 | 91入口在线观看 | 久久福利综合 | 国产色视频网站 | 久久久久久久久久久久亚洲 | 久久久久国产精品免费免费搜索 | 精品视频9999| 热久久最新地址 | 在线观看亚洲电影 | 婷婷丁香花五月天 | 日韩精品综合在线 | 波多野结衣视频在线 | 最新久久免费视频 | 亚洲久在线 | 国产精品欧美一区二区 | 国产不卡一 | 五月色综合 | 草久在线 | 五月婷婷中文字幕 | 久久午夜色播影院免费高清 | 天天草天天干天天射 | 国产99久久久精品 | 久久久精品亚洲 | 五月天视频网站 | 日韩免费二区 | 91九色国产视频 | 久久久久久国产精品 | 99草在线视频 | 天堂在线视频中文网 | 国内久久视频 | 久久综合成人 | 国产专区在线播放 | 欧美日韩一区二区三区在线观看视频 | 五月天六月婷婷 | 一级做a爱片性色毛片www | av片子在线观看 | 国产精品av免费在线观看 | 国产精品久久久免费看 | www免费| 日韩免费一级电影 | 久久 亚洲视频 | 中文字幕色在线视频 | 国产视频九色蝌蚪 | 亚欧洲精品视频在线观看 | 国产专区精品 | 国产无区一区二区三麻豆 | 91免费黄视频 | 亚洲人成人天堂h久久 | 久久精精品视频 | 99热国产在线中文 | 97操操操| 欧美日韩国产xxx | 91在线超碰 | 亚洲国产成人在线 | 中文永久字幕 | 日韩亚洲国产精品 | 人人澡人人爽 | 亚洲天堂网视频在线观看 | 久久这里只有精品视频首页 | 亚洲欧美激情精品一区二区 | 日日操天天操夜夜操 | 中文字幕资源在线 | 在线播放国产精品 | 国产精品video爽爽爽爽 | 中文字幕在线久一本久 | 色黄www小说 | 日韩精品一区二区三区免费观看 | 日本狠狠色| 一区 二区电影免费在线观看 | 日本中文在线播放 | 中文字幕精品一区二区三区电影 | 日韩a级黄色片 | 日日夜夜精品免费 | 日本久久精品视频 | 黄色三级视频片 | 97成人在线| 伊人天堂av | 精品国产免费久久 | av成年人电影 | 国产正在播放 | 免费日韩 精品中文字幕视频在线 | 一区二区三区四区在线免费观看 | 精品国产一区二区三区av性色 | 欧美大荫蒂xxx | 日本久久免费视频 | 天天色宗合 | 国产九九九精品视频 | 成人在线播放视频 | 国产精品mm| 99高清视频有精品视频 | 999成人精品 | www.久久久.com| 亚洲男男gⅴgay双龙 | 欧美日韩一级久久久久久免费看 | 久久婷婷五月综合色丁香 |