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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

理解Lucene/Solr的缓存

發(fā)布時(shí)間:2023/11/29 编程问答 75 豆豆
生活随笔 收集整理的這篇文章主要介紹了 理解Lucene/Solr的缓存 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

????緩存對(duì)于提高搜索引擎的吞吐量,降低CPU占用率極為重要。Lucene/Solr在這塊做了很多的工作。Lucene/Solr中默認(rèn)提供了5種緩存,同時(shí)solr還提供擴(kuò)展緩存接口,允許開發(fā)者自定義緩存。


1?緩存的基本原理


Solr實(shí)現(xiàn)了兩種策略的緩存:LRU(Leatest?Recently?Used)LFU(Least?Frequently?Used)。這兩種策略也用于操作系統(tǒng)的內(nèi)存管理(頁面置換)。當(dāng)然緩存還有其它的策略,比如FIFORand等。無論是基于什么樣的策略,在應(yīng)用中命中率高且實(shí)現(xiàn)簡(jiǎn)單的策略才是好策略。


1.1?LRU策略


LRU,又稱最近最少使用。假如緩存的容量為10,那么把緩存中的對(duì)象按訪問(插入)的時(shí)間先后排序,當(dāng)容量不足時(shí),***時(shí)間最早的。(當(dāng)然,真正的實(shí)現(xiàn)是通過鏈表維護(hù)時(shí)間先后順序)


1.1.1?LRUCache


SolrLRUCache是通過LinkedHashMap來實(shí)現(xiàn)的。通過LRUCacheinit方法就可以發(fā)現(xiàn),其代碼如下:


??map?=?new?LinkedHashMap<K,V>(initialSize,?0.75f,?true)?{@Overrideprotected?boolean?removeEldestEntry(Map.Entry?eldest)?{if?(size()?>?limit)?{//?increment?evictions?regardless?of?state.//?this?doesn't?need?to?be?synchronized?because?it?will//?only?be?called?in?the?context?of?a?higher?level?synchronized?block.evictions++;stats.evictions.incrementAndGet();return?true;}return?false;}};


需要注意的是其構(gòu)造參數(shù)的最后一個(gè)accessOrder。這里accessOrder=true,表明map.get()方法會(huì)改變鏈表的結(jié)構(gòu),如果accessOrderfalse,則map.get()方法不對(duì)改變LinkedHashMap中鏈表的結(jié)構(gòu),就無法體現(xiàn)最近最小使用這個(gè)特點(diǎn)了。


?

由于LRUCache其本質(zhì)是LinkedHashMap,HashMap不是線程安全的,所以就需要在getput時(shí)進(jìn)行同步,鎖住整個(gè)map,所以在高并發(fā)條件下,其性能會(huì)有所影響。因此Solr用另外一種方式實(shí)現(xiàn)了LRUCache,即FastLRUCache


1.1.2?FastLRUCache


FastLRUCache內(nèi)部采用了ConcurrentLRUCache實(shí)現(xiàn),而ConcurrentLRUCache內(nèi)部又采用ConcurrentHashMap實(shí)現(xiàn),所以是線程安全的。緩存通過CacheEntry中的訪問標(biāo)記lastAccessed來維護(hù)CacheEntry被訪問的先后順序。?即每當(dāng)Cacheget或者put操作,則當(dāng)前CacheEntrylastAccessed都會(huì)變成最大的(state.accessCounter)。當(dāng)FastLRUCache容量已滿時(shí),通過markAndSweep方式來剔除緩存中lastAccessed最小的N個(gè)項(xiàng)以保證緩存的大小達(dá)到一個(gè)acceptable的值。


markAndSweep分兩個(gè)階段執(zhí)行:第一階段收回最近最少使用的項(xiàng);如果經(jīng)過第一階段緩存的大小依然大于acceptable,那么第二階段將會(huì)開始。第二階段會(huì)更加嚴(yán)格地把緩存的大小降下來。


在第一階段,一個(gè)數(shù)軸就可以把運(yùn)行原理解釋清楚。




對(duì)應(yīng)代碼如下(ConcurrentLRUCache.markAndSweep方法)


????????

//?since?the?wantToKeep?group?is?likely?to?be?bigger?than?wantToRemove,?check?it?firstif?(thisEntry?>?newestEntry?-?wantToKeep)?{//?this?entry?is?guaranteed?not?to?be?in?the?bottom//?group,?so?do?nothing.numKept++;newOldestEntry?=?Math.min(thisEntry,?newOldestEntry);}?else?if?(thisEntry?<?oldestEntry?+?wantToRemove)?{?//?entry?in?bottom?group?//?this?entry?is?guaranteed?to?be?in?the?bottom?group//?so?immediately?remove?it?from?the?map.evictEntry(ce.key);numRemoved++;}?else?{//?This?entry?*could*?be?in?the?bottom?group.//?Collect?these?entries?to?avoid?another?full?pass...?this?is?wasted//?effort?if?enough?entries?are?normally?removed?in?this?first?pass.//?An?alternate?impl?could?make?a?full?second?pass.if?(eSize?<?eset.length-1)?{eset[eSize++]?=?ce;newNewestEntry?=?Math.max(thisEntry,?newNewestEntry);newOldestEntry?=?Math.min(thisEntry,?newOldestEntry);}}}


?????


看代碼可知,第一階段會(huì)按相同的邏輯運(yùn)行兩次。一般來說,經(jīng)過第一階段,緩存的大小應(yīng)該控制下來了。如果依然控制不下來,那么就把上圖中的待定Entry直接扔到指定大小的優(yōu)先隊(duì)列中。最后把優(yōu)先隊(duì)列中的Entry全部***。這樣,就能夠保證緩存的Size降下來。其實(shí)如果一開始就直接上優(yōu)先隊(duì)列,代碼會(huì)少很多。但是程序的性能會(huì)降低好多。


?

通過分析可以看到,如果緩存中put操作頻繁,很容易觸發(fā)markAndSweep方法的執(zhí)行。而markAndSweep操作比較耗時(shí)。所以這部分的操作可以通過設(shè)置newThreadForCleanup=true來優(yōu)化。即新開一個(gè)線程執(zhí)行。這樣就不會(huì)阻塞put方法。在solrconfig.xml中配置,是這樣的cleanupThread=trueCache在構(gòu)造的時(shí)候就會(huì)開啟一個(gè)線程。通過線程的wait/nofity來控制markAndSweep。從而避免了newThreadForCleanup=true這樣的不停開線程的開銷,總而言之,緩存是通過markAndSweep來控制容量。


?

1.2?LFU策略


LFU策略即【最近最少使用】策略。當(dāng)緩存已滿時(shí),設(shè)定時(shí)間段內(nèi)使用次數(shù)最少的緩存將被剔除出去。通過前面的描述,容易看出LFU策略實(shí)現(xiàn)時(shí),必須有一個(gè)計(jì)數(shù)器來記錄CacheEntry被訪問的次數(shù)。Solr也正是這么干的。(CacheEntry結(jié)構(gòu))


?

?private?static?class?CacheEntry<K,?V>?implements?Comparable<CacheEntry<K,?V>>?{K?key;V?value;volatile?AtomicLong?hits?=?new?AtomicLong(0);long?hitsCopy?=?0;volatile?long?lastAccessed?=?0;long?lastAccessedCopy?=?0;public?CacheEntry(K?key,?V?value,?long?lastAccessed)?{this.key?=?key;this.value?=?value;this.lastAccessed?=?lastAccessed;}



很清楚地看到CacheEntry用hits?來記錄訪問次數(shù)。lastAccessed?存在則是為了應(yīng)付控制緩存容量時(shí),如果在待***隊(duì)列中出現(xiàn)hits相同的CacheEntry,那么***lastAccessed?較小的一個(gè)。hitsCopy?lastAccessedCopy的存在則是基于性能的考慮。避免多線程時(shí)內(nèi)存跨越內(nèi)存柵欄。


?

LFUCache通過ConcurrentLFUCache來實(shí)現(xiàn),而ConcurrentLFUCache內(nèi)部又是ConcurrentHashMap。我們關(guān)注的重點(diǎn)放在ConcurrentLFUCache


ConcurrentLFUCache對(duì)容量的控制依然是markAndSweep,我猜想這是為了在代碼可讀性上與ConcurrentLRUCache保持一致。


相對(duì)ConcurrentLRUCachemarkAndSweep實(shí)現(xiàn)而言,ConcurrentLFUCachemarkAndSweep就比較簡(jiǎn)單了。用一個(gè)TreeSet來維護(hù)待***隊(duì)列。TreeSet排序則是基于hits?lastAccessed?(可參看CacheEntrycomparTo方法)


markAndSweep方法的核心代碼如下:


TreeSet<CacheEntry>?tree?=?new?TreeSet<CacheEntry>();for?(CacheEntry<K,?V>?ce?:?map.values())?{//?set?hitsCopy?to?avoid?later?Atomic?readsce.hitsCopy?=?ce.hits.get();ce.lastAccessedCopy?=?ce.lastAccessed;if?(timeDecay)?{ce.hits.set(ce.hitsCopy?>>>?1);}if?(tree.size()?<?wantToRemove)?{tree.add(ce);}?else?{//?If?the?hits?are?not?equal,?we?can?remove?before?adding//?which?is?slightly?fasterif?(ce.hitsCopy?<?tree.first().hitsCopy)?{tree.remove(tree.first());tree.add(ce);}?else?if?(ce.hitsCopy?==?tree.first().hitsCopy)?{tree.add(ce);tree.remove(tree.first());}}}for?(CacheEntry<K,?V>?e?:?tree)?{evictEntry(e.key);}

Solr實(shí)現(xiàn)了LFUCache,卻沒有再來一個(gè)FastLFUCache。因?yàn)?/span>LFUCache的實(shí)現(xiàn)用的是ConcurrentHashMap。能夠很好的支持并發(fā)。如果非要來一個(gè)FastLFUCache,那么就得用上非阻塞數(shù)據(jù)結(jié)構(gòu)了。


?

?

?

?

2?緩存在Solr的中應(yīng)用


前面已經(jīng)提到過,Solr實(shí)現(xiàn)了各種層次的緩存。緩存由SolrIndexSearcher集中控制。分別應(yīng)用在queryfact等查詢相關(guān)的操作上。


2.1?filterCache


filterCacheSolrIndexSearcher的定義如下:


SolrCache<Query,DocSet>?filterCache;


???filterCache的key是Query,value是DocSet對(duì)象。而DocSet的基本功能就是過濾。filter在英語中的解釋是"過濾器"。那么哪些地方有可能用到過濾功能呢?


filterCachesolr中的應(yīng)用包含以下場(chǎng)景:


1、查詢參數(shù)facet.method=enum


2、如果solrconfig.xml中配置<useFilterForSortedQuery/>?true


3、查詢參數(shù)含Facet.query或者group.query


4、查詢參數(shù)含fq


????


2.2?fieldvalueCache


fieldValueCacheSolrIdexSearcher的定義如下:


SolrCache<String,UnInvertedField>?fieldValueCache;


?

其中key代表FieldNamevalue是一種數(shù)據(jù)結(jié)構(gòu)UnInvertedField


?

fieldValueCachesolr中只用于multivalued?Field。一般用到它的就是facet操作。關(guān)于這個(gè)緩存需要注意的是,如果沒有在solrconfig.xml中配置,那么它是默認(rèn)存在的(初始大小10,最大10000,不會(huì)autowarm)?會(huì)有內(nèi)存溢出的隱患。


由于該cachekeyFieldName,而一般一個(gè)solrCore中的字段最多也不過幾百。在這么多字段中,multivalued?字段會(huì)更少,會(huì)用到facet操作的則少之又少。所以該在solrconfig.xml中的配置不必過大,大了也是浪費(fèi)。


該緩存存儲(chǔ)排序好的docIds,一般是topN。這個(gè)緩存占用內(nèi)存會(huì)比filterCache?小。因?yàn)樗鎯?chǔ)的是topN。但是如果QueryCommand中帶有filter(DocSet類型),那么該緩存不會(huì)起作用。原因是:DocSet在執(zhí)行hashcodeequals方法時(shí)比較耗時(shí)。

2.4?documentCache

該緩存映射docId->Document。沒有什么值得多說的。

?

2.5?自定義緩存

如果solr中實(shí)現(xiàn)的緩存不滿足需求。那么可以在SolrConfig.xml中自定義緩存。?

<cache?name="c"class="solr.FastLRUCache"size="4096"initialSize="1024"autowarmCount="1024"regenerator="com.mycompany.cache.CacheRegenerator"/>


需要寫代碼的地方就是?regenerator="com.mycompany.cache.CacheRegenerator"這里了。RegeneratorSolrIndexSearcher執(zhí)行warm方法時(shí)會(huì)被調(diào)用。假如solr的索引2分鐘更新一次,為了保證更新的索引能夠被搜索到,那么就需要重新打開一個(gè)SolrIndexSearcher,這時(shí)候就有一個(gè)問題:SolrIndexSearcher里面的緩存怎么辦?

如果把舊的緩存全部拋棄,那么搜索的性能勢(shì)必下降。Solr的做法是通過warm方法來預(yù)熱緩存。即把通過原有緩存里面的Key值,重新獲取一次valuewarm完畢后再切換到新的Searcherregenrator里面的regenerateItem方法就是用來更新緩存。關(guān)注一下regenerateItem的參數(shù):

??public?boolean?regenerateItem(SolrIndexSearcher?newSearcher,?SolrCache?newCache,?SolrCache?oldCache,?Object?oldKey,?Object?oldVal)?throws?IOException;

SolrIndexSearcher,oldCache,oldKey,有oldVal想查詢結(jié)果很容易就能得到了。這樣做的話已經(jīng)***到Solr內(nèi)部了,不推薦。如果以后想要升級(jí)的話,可能得重新改代碼。升級(jí)維護(hù)不太方便。

2.6?fieldCache

我們知道lucene保存了正向索引(docId-->field)和反向索引(field-->docId)。反向索引是搜索的核心,檢索速度很快。但是如果我們需要快速由docId得到Field信息(比如按照某個(gè)字段排序,字段值的信息統(tǒng)計(jì)<solr?facet功能>),由于需要磁盤讀取,速度會(huì)比較慢。因此Lucene實(shí)現(xiàn)了fieldCache

Lucene實(shí)現(xiàn)了各種類型Field的緩存:Byte,Short,Int,Float,Long……

fieldCacheLucene內(nèi)部的緩存,主要用于緩存Lucene搜索結(jié)果排序,比如按時(shí)間排序等。由于fieldCache內(nèi)部利用數(shù)組來存儲(chǔ)數(shù)據(jù)(可以參看FieldCacheImpl源碼),而且數(shù)組的大小開的都是maxDoc,所以當(dāng)數(shù)據(jù)量較大時(shí),fieldCache是相當(dāng)消耗內(nèi)存的,所以很容易出現(xiàn)內(nèi)存溢出問題。

?

fieldCache使用的樣例可可參看如下的源代碼。

package?com.vancl.cache;import?java.io.IOException;import?org.apache.lucene.analysis.Analyzer; import?org.apache.lucene.analysis.core.WhitespaceAnalyzer; import?org.apache.lucene.document.Document; import?org.apache.lucene.document.Field.Store; import?org.apache.lucene.document.IntField; import?org.apache.lucene.document.StringField; import?org.apache.lucene.index.DirectoryReader; import?org.apache.lucene.index.IndexReader; import?org.apache.lucene.index.IndexWriter; import?org.apache.lucene.index.IndexWriterConfig; import?org.apache.lucene.search.IndexSearcher; import?org.apache.lucene.search.MatchAllDocsQuery; import?org.apache.lucene.search.ScoreDoc; import?org.apache.lucene.search.Sort; import?org.apache.lucene.search.SortField; import?org.apache.lucene.search.TopDocs; import?org.apache.lucene.search.TopFieldCollector; import?org.apache.lucene.store.Directory; import?org.apache.lucene.store.RAMDirectory; import?org.apache.lucene.util.Version;public?class?TestFieldCache?{Directory?d=?new?RAMDirectory();Analyzer?analyzer?=new?WhitespaceAnalyzer(Version.LUCENE_42);IndexWriterConfig?conf?=?null;IndexWriter?iw?=?null;public?void?index()?throws?IOException{conf?=?new?IndexWriterConfig(Version.LUCENE_42,analyzer);iw?=?new?IndexWriter(d,?conf);Document?doc?=?null;int[]?ids?={1,5,3,2,4,8,6,7,9,10};String[]?addTimes={"2012-12-12?12:12:12","2012-12-12?12:12:13","2012-12-12?12:12:14","2012-12-12?12:12:15","2012-12-12?12:12:11","2012-12-12?12:12:10","2012-12-12?12:12:09","2012-12-12?12:12:08","2012-12-12?12:12:07","2012-12-12?12:12:06"} ;for(int?i=1;i<=10;i++){doc=new?Document();doc.add(new?StringField("addTime",addTimes[i-1],?Store.YES));doc.add(new?IntField("id",ids[i-1],?Store.YES));iw.addDocument(doc);}iw.commit();iw.close();}public?void?query()?throws?IOException{IndexReader?ir?=?DirectoryReader.open(d);IndexSearcher?is?=?new?IndexSearcher(ir);//按addTime逆序排序//Sort?sort?=?new?Sort(new?SortField("addTime",?SortField.Type.STRING,true));Sort?sort?=?new?Sort(new?SortField("addTime",?SortField.Type.STRING,true));//按id逆序排序//Sort?sort?=?new?Sort(new?SortField("id",?SortField.Type.INT,true));TopFieldCollector?collector?= TopFieldCollector.create(sort,?5,?false,?false,?false,?false);is.search(new?MatchAllDocsQuery(),collector);TopDocs?top=?collector.topDocs();for?(ScoreDoc?doc?:?top.scoreDocs)?{// System.out.println(ir.document(doc.doc).get("id"));System.out.println(ir.document(doc.doc).get("addTime"));}}public?static?void?main(String[]?args)?throws?IOException?{TestFieldCache?c?=?new?TestFieldCache();c.index();c.query();} }


轉(zhuǎn)載于:https://blog.51cto.com/sbp810050504/1421546

總結(jié)

以上是生活随笔為你收集整理的理解Lucene/Solr的缓存的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

奇米导航 | 在线免费中文字幕 | 色婷婷国产精品一区在线观看 | 色婷婷在线观看视频 | 午夜久久久久久久久久久 | 日日色综合 | 亚州性色 | 国产精品观看在线亚洲人成网 | 9999精品视频| 黄色在线网站噜噜噜 | 日韩高清www | 国产精品久久久久久久久软件 | 91超级碰碰| 国产精品免费在线视频 | 天天干天天干天天 | 伊人久久一区 | 九九热免费在线视频 | 欧美a级在线播放 | 中文字幕在线观看网 | 久久精品99久久久久久 | 中文字幕在线中文 | 亚洲在线a| 色在线视频网 | 国产精品igao视频网网址 | 午夜性福利 | 麻花传媒mv免费观看 | 日韩 精品 一区 国产 麻豆 | 夜又临在线观看 | 狠狠色噜噜狠狠狠合久 | 亚洲电影一级黄 | 天天做天天看 | 日韩在线电影一区 | 国产区免费在线 | 免费精品在线 | 成人精品视频 | av综合网址 | 日韩欧美高清 | 日韩字幕 | 日韩av电影手机在线观看 | 97人人模人人爽人人喊网 | 国产精品毛片久久久久久久久久99999999 | 韩国av一区二区 | 欧美精品一区二区三区四区在线 | 91精品在线免费观看 | 亚洲激情六月 | 能在线看的av| 久久黄色免费观看 | 国产亚洲欧美日韩高清 | 超碰激情在线 | 中文亚洲欧美日韩 | 色多多污污在线观看 | 午夜丁香视频在线观看 | 久久尤物电影视频在线观看 | 超碰在线免费97 | 免费成人黄色片 | 欧美色噜噜噜 | 国产精品一区二区三区观看 | 欧美天天综合网 | 成人夜晚看av | 亚洲国产综合在线 | 免费av一级电影 | 五月婷婷导航 | 午夜99| 波多野结衣在线观看一区二区三区 | 国产精品无av码在线观看 | 97视频入口免费观看 | 国产在线小视频 | 一区二区激情视频 | 中文字幕在线免费播放 | 性日韩欧美在线视频 | 三级a视频 | av黄网站| 91免费在线看片 | 亚洲激情校园春色 | 麻豆视频免费入口 | 欧美日韩中文在线 | x99av成人免费| 久久久久久黄色 | 91传媒在线播放 | 丰满少妇对白在线偷拍 | 黄色网在线播放 | 亚洲丝袜中文 | 永久免费的av电影 | 成人黄色大片网站 | 中文字幕精品三级久久久 | 欧美大jb| 少妇精品久久久一区二区免费 | www免费黄色 | 久草在线精品观看 | 97人人爽 | 高清色免费 | 精品久久久国产 | 91porny九色91啦中文 | 日韩精品久久久久久久电影竹菊 | 在线观看完整版免费 | 久久99久久精品 | 国产在线专区 | 500部大龄熟乱视频 欧美日本三级 | 亚洲黄色网络 | 4hu视频 | 激情欧美xxxx | 久草在线视频看看 | 亚洲综合涩 | 国产精品久久久久av免费 | 久草在线免费色站 | 国产精品99精品久久免费 | 午夜男人影院 | 狠狠操夜夜 | 精品在线视频一区二区三区 | 免费看国产精品 | 黄色网中文字幕 | 亚洲精品视频 | 一区二区三区在线免费播放 | 91亚洲国产成人久久精品网站 | 久久久国产精品成人免费 | 国产拍在线 | 久久久亚洲成人 | 成人久久免费视频 | 国产精品孕妇 | 欧美高清视频不卡网 | .精品久久久麻豆国产精品 亚洲va欧美 | 偷拍视频一区 | 精品国产一区二区三区蜜臀 | 日本在线观看一区二区三区 | 99亚洲精品 | 射射射av| 久久免费高清视频 | 欧美一区二区三区在线播放 | 色综合天天狠天天透天天伊人 | 亚洲国产欧洲综合997久久, | 欧美xxxx性xxxxx高清 | 久久精品高清视频 | 免费精品人在线二线三线 | 精品国产一区二区三区久久 | 99r在线视频 | 亚洲小视频在线观看 | 亚洲精品久久久久999中文字幕 | 亚洲精品国产自产拍在线观看 | 国产精品免费久久久久 | 亚洲精品理论 | 色婷婷狠狠五月综合天色拍 | 久久伊人婷婷 | 高潮毛片无遮挡高清免费 | 日韩电影一区二区三区 | 久久久麻豆精品一区二区 | 天天综合色天天综合 | 免费av视屏 | 人成免费网站 | 国产裸体无遮挡 | 91九色视频观看 | 国产精品va| 激情网第四色 | 日韩精品视频免费看 | 中文字幕在线视频精品 | 2018好看的中文在线观看 | 天堂在线成人 | 综合网天天色 | 高清免费在线视频 | 福利视频第一页 | 日韩精品2区 | 免费中文字幕在线观看 | 天天操操操操操操 | 成人久久毛片 | 日韩狠狠操 | 狠狠狠色 | 国产一二三四在线观看视频 | 久草.com| 天堂网一区 | 黄色午夜网站 | 国内成人av| 亚洲视频专区在线 | 精品国产乱码一区二区三区在线 | 成人影视片 | 日韩电影中文字幕在线观看 | 国产三级在线播放 | 国产九九九精品视频 | 男女全黄一级一级高潮免费看 | 亚洲第一成网站 | 91视频免费视频 | 91九色最新| 国产综合在线视频 | 五月色丁香 | 国产一区福利在线 | 久久综合狠狠综合 | 国产精品18久久久久vr手机版特色 | 在线观看黄色 | 成人精品国产免费网站 | 日免费视频 | 国产精品久久久久高潮 | 亚洲天天 | av免费在线播放 | 欧美 日韩 性| 999精品| 一区二区三区高清在线 | 看片在线亚洲 | 黄色特级一级片 | 国产精品久久久久久高潮 | 人人爽人人爽 | 婷婷激情小说网 | 91禁看片| 天天干 天天摸 天天操 | 九九99 | 超碰公开在线观看 | 国产黄色片免费看 | 在线黄色观看 | 国产香蕉久久 | 日免费视频 | 国产精品 欧美 日韩 | 超碰九九| 日韩欧美视频二区 | 日韩免费一区二区在线观看 | 亚洲色图av | 国产成人99久久亚洲综合精品 | 国产精品区在线观看 | 在线精品观看国产 | 日韩高清在线一区二区三区 | 怡春院av| 国产成人在线观看 | 蜜桃av久久久亚洲精品 | 日本爱爱免费 | 在线观看中文 | 最近中文字幕高清字幕在线视频 | 欧美精品一区二区性色 | 日韩免费视频一区二区 | 一级免费黄色 | 国产亚洲精品久久久久久久久久久久 | 国产高清精品在线观看 | 欧美综合干| www.久久91| 中国美女一级看片 | 成人久久18免费网站麻豆 | 人人看人人做人人澡 | 97色噜噜 | 日韩影视在线 | 欧洲av不卡 | 二区中文字幕 | 久久夜色电影 | 色综合夜色一区 | 日本中文字幕在线一区 | www.天天综合| 亚洲成人精品在线观看 | 在线观看网站你懂的 | 国产精品国产三级国产aⅴ无密码 | 九九热免费观看 | 久久久久久久免费 | 狠狠色丁香婷婷综合最新地址 | 亚洲精品视频网站在线观看 | 国产精品久久久久毛片大屁完整版 | 亚洲精品白浆高清久久久久久 | av国产网站| 国产精品久久久久999 | 成人网看片 | 精品乱码一区二区三四区 | 日本69hd| 国产精品成人一区二区三区吃奶 | 国产精品成人免费一区久久羞羞 | 五月婷婷综合色拍 | www.五月婷婷.com| 久久少妇免费视频 | 日韩电影中文,亚洲精品乱码 | 日韩精品久久久久久中文字幕8 | 亚洲欧洲精品一区 | 日韩一级电影网站 | 成人精品视频久久久久 | 极品国产91在线网站 | 丁香影院在线 | 久久久精品欧美一区二区免费 | 欧美日韩免费观看一区二区三区 | 中文字幕在线观看免费 | 91精品国产欧美一区二区成人 | 五月婷婷综合久久 | 在线免费精品视频 | 免费a视频 | 久久久久久久久久久黄色 | 亚洲视屏一区 | 九九久久在线看 | 日韩免费电影一区二区三区 | 亚洲春色综合另类校园电影 | 亚洲天堂网在线视频观看 | 国产精品免费久久久久久久久久中文 | 91爱爱电影| 韩国三级在线一区 | 天天干天天干天天干天天干天天干天天干 | 欧美日韩精品免费观看视频 | 精品久久国产 | 尤物97国产精品久久精品国产 | 久久国色夜色精品国产 | 成人免费视频网站在线观看 | 99久久精品国产系列 | 日韩不卡高清 | 97精品超碰一区二区三区 | 天天色综合久久 | 一区二区三区国 | 97人人爽人人 | 97视频在线播放 | 日韩在线视频在线观看 | 91片黄在线观看 | 久草在线欧美 | 91在线免费视频 | 亚洲国产人午在线一二区 | 久久成人一区 | 日韩免费一级电影 | 国产精品一区二区av日韩在线 | 亚洲精品国产成人av在线 | 色婷婷国产精品一区在线观看 | 久青草影院 | 中文字幕你懂的 | 91桃色在线免费观看 | 日韩一二三区不卡 | 国产成人免费在线观看 | 国产高清视频免费观看 | 色婷婷久久一区二区 | 中文字幕a∨在线乱码免费看 | 超碰97网站 | 国产不卡在线观看视频 | 黄网站色视频 | 日韩av中文在线观看 | 亚洲成免费 | 13日本xxxxxⅹxxx20 | 中文字幕一区在线观看视频 | 欧美性大战久久久久 | 日日夜夜免费精品 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 日本mv大片欧洲mv大片 | 成人一级免费视频 | 亚洲国产片色 | 国产精品12 | 狠狠色丁香九九婷婷综合五月 | 国内精自线一二区永久 | 九九热中文字幕 | 精品福利片 | 国产精品电影一区 | 国产又粗又硬又长又爽的视频 | 国产精品99久久久久的智能播放 | 国产一区二区精品久久 | 欧美精品在线免费 | 国产中文字幕网 | 久草在线国产 | 2021国产视频 | 手机在线日韩视频 | 国产又粗又猛又黄 | 久久久久久蜜桃一区二区 | 97精品国自产拍在线观看 | 日日夜夜综合网 | 在线观看日韩国产 | 日日夜夜中文字幕 | 日韩xxx视频| 久久欧美在线电影 | 成人综合婷婷国产精品久久免费 | 成人av视屏 | 欧美精品免费一区二区 | 一区精品在线 | 国产成人精品av | 日韩有码网站 | 五月婷婷欧美 | 一级全黄毛片 | 日韩欧美在线观看一区 | 国产五月婷| 国产999精品久久久久久麻豆 | 丁香六月婷婷开心婷婷网 | 91在线资源 | 91亚洲精品国偷拍 | 中文国产在线观看 | 在线91视频 | 亚洲一级电影在线观看 | 婷婷夜夜 | 国产精品免费在线视频 | 揉bbb玩bbb少妇bbb | 99re8这里有精品热视频免费 | 色在线国产 | av高清一区二区三区 | 精品色999| 亚洲日本韩国一区二区 | 亚洲在线视频播放 | 日韩美视频 | 亚洲成人资源 | 免费在线激情视频 | 亚洲va欧美va | 久久视频在线观看 | 伊人看片 | www.夜夜操.com | 91香蕉视频好色先生 | 久久超碰99 | 日韩免费看片 | 中文字幕在线观看第三页 | 91传媒视频在线观看 | 九九视频免费在线观看 | 黄色大片视频网站 | av成人在线看 | 国精产品999国精产 久久久久 | 91夫妻视频 | 中文成人字幕 | 欧美吞精 | 国产午夜三级一区二区三桃花影视 | 粉嫩av一区二区三区四区在线观看 | 99性视频 | 国产无套一区二区三区久久 | 粉嫩av一区二区三区入口 | 免费精品 | 久久久久高清 | 在线看一级片 | 国产精品色在线 | 97久久精品午夜一区二区 | 国产小视频在线免费观看视频 | 欧美日韩高清在线一区 | 五月婷婷色 | 99精品免费久久久久久久久日本 | 国产高清综合 | 国产精品a成v人在线播放 | 精品国产黄色片 | 中文字幕在线影院 | 极品久久久久 | 国产精品毛片一区二区在线 | 最近中文字幕视频网 | 午夜影院一级 | 婷婷亚洲综合 | 色综合色综合久久综合频道88 | 看片网站黄色 | 亚洲精品999 | 成人性生交大片免费看中文网站 | 一级c片 | 国产精品久久久久久久久久久不卡 | 日韩在线国产 | 日韩免费在线观看视频 | 欧美成a人片在线观看久 | 国产亚州精品视频 | 一级性视频| 国产网站色| 久久精品资源 | 中文字幕在线视频精品 | 中文字幕日韩一区二区三区不卡 | 欧美 亚洲 另类 激情 另类 | 99精品视频在线播放观看 | 波多野结衣在线视频免费观看 | 五月天视频网 | 麻豆精品国产传媒 | 看全黄大色黄大片 | 日韩中文久久 | 四虎影视成人 | 精品久久久久久亚洲综合网站 | 狠狠色丁婷婷日日 | 亚洲毛片久久 | 色婷婷欧美 | 日韩二区三区在线 | 国产精品久久久久久久av大片 | 美女网站久久 | 国产午夜三级一区二区三桃花影视 | 视频91| 午夜性福利 | av经典在线| avwww在线 | www.黄色在线 | 在线观看免费黄视频 | 日韩av中文 | 91久久精品日日躁夜夜躁国产 | 91人人澡人人爽 | 99草在线视频 | 韩国av一区二区三区在线观看 | 久久精品这里热有精品 | 免费视频网 | 中文字幕亚洲欧美日韩2019 | 精品亚洲午夜久久久久91 | 久久久.com | 久久婷婷一区二区三区 | 四虎国产精品免费观看视频优播 | 黄色大全免费网站 | 久草青青在线观看 | 欧美一级黄大片 | 国产精品久久久久久久久久久不卡 | 久久久精品网 | 九九九九九九精品 | 好看的国产精品视频 | 日韩av午夜在线观看 | 色综合综合 | 黄色软件在线观看视频 | 三上悠亚一区二区在线观看 | 午夜视频99 | 99热精品免费观看 | 久久久国产影院 | www成人精品 | 97在线精品国自产拍中文 | 国产精品成人一区二区 | 国产在线久久久 | 日韩精品高清视频 | av片子在线观看 | 91成人精品视频 | 处女av在线| 久草在线免费播放 | 欧美精品九九 | 免费精品国产va自在自线 | 丁香花在线视频观看免费 | 亚洲精品毛片一级91精品 | 人人舔人人舔 | 日韩一级电影在线 | 天天躁天天躁天天躁婷 | 久久不卡国产精品一区二区 | 麻豆va一区二区三区久久浪 | 国产只有精品 | 中文字幕在线一二 | 成人高清在线 | 一区二区三区日韩在线观看 | www.啪啪.com | 在线视频成人 | av免费播放| 久久视频在线 | 国产精品自产拍在线观看中文 | 国产精品免费大片视频 | www.在线观看av | 黄色一级大片在线观看 | 日韩av视屏 | 欧美日韩视频在线播放 | 国产一区二区三区网站 | 国产一级免费视频 | 国产精品久久久久毛片大屁完整版 | 日韩一级成人av | www.亚洲精品视频 | 日韩精品一区二 | 97视频播放 | 精品在线观看国产 | 三级在线播放视频 | 在线观看国产永久免费视频 | 干天天| av免费看网站 | 日本在线观看中文字幕无线观看 | 国产手机精品视频 | 久久五月婷婷综合 | 五月天六月丁香 | 免费日韩电影 | 亚洲欧美一区二区三区孕妇写真 | 亚洲欧洲久久久 | 亚洲综合欧美精品电影 | 成人黄性视频 | 国产精品第 | 欧美日韩一区二区在线 | 日本中文字幕在线电影 | 在线天堂v| 国产精品一区一区三区 | 夜夜爽夜夜操 | 日韩激情网 | 91成人网在线观看 | 国产精品色 | 天堂av官网 | 日韩经典一区二区三区 | 欧美日韩国产精品爽爽 | 久久成人国产精品 | 天堂av在线免费观看 | 免费下载高清毛片 | 爱色婷婷| 日韩精品中文字幕av | 99r在线观看 | 久久日韩精品 | 国产精品免费在线 | 国产精品18久久久久久久久久久久 | 中文在线字幕观看电影 | 久久久精品 一区二区三区 国产99视频在线观看 | 久久99久久99免费视频 | 精品国产自在精品国产精野外直播 | 91av电影 | 色婷婷成人网 | 丁香婷婷在线 | 午夜精品久久久久久99热明星 | 国产黄在线 | av一区在线| 日韩免费不卡视频 | 人人舔人人干 | 蜜臀久久99精品久久久无需会员 | 2019精品手机国产品在线 | 久久久久国产成人免费精品免费 | 九九久久在线看 | 国产精品欧美久久久久三级 | 国产夫妻av在线 | 最近2019好看的中文字幕免费 | 欧美色图30p | 丁香色婷婷 | 久久人人爽人人人人片 | 亚洲激情六月 | 久久99国产一区二区三区 | 草免费视频 | 午夜精品久久久久久99热明星 | 久久久久久久久久久久久9999 | 中文字幕精品久久 | 国产精品 欧美 日韩 | 国产精品1区2区3区 久久免费视频7 | 国产精品一区二区三区在线播放 | 91亚洲精品久久久中文字幕 | 久久亚洲婷婷 | 亚洲精品www久久久久久 | 日日干天夜夜 | 99精品国产一区二区三区不卡 | 精品国产乱码久久久久久1区二区 | 在线 精品 国产 | 天天久久夜夜 | 黄色影院在线免费观看 | 又黄又爽的免费高潮视频 | 国产精品女同一区二区三区久久夜 | 国产精品久久久久久久久久免费看 | 一区二区三区久久 | 国产美女视频 | 91人人射 | 日日添夜夜添 | 亚洲成av人影片在线观看 | 日日干,天天干 | 成人av中文字幕在线观看 | 国产精品美女毛片真酒店 | 国产永久免费 | 天天干夜夜夜 | 深爱激情综合 | 久久一本综合 | 精品久久国产精品 | 久久人91精品久久久久久不卡 | 91精品一区二区三区久久久久久 | 亚洲欧洲日韩在线观看 | 日韩精品一二三 | 96精品在线 | 久草97| 中文字幕丝袜 | 亚洲精品欧洲精品 | 探花视频免费观看 | 日韩在线看片 | 中文字幕在线免费观看视频 | 久草在线视频首页 | 婷婷中文字幕综合 | 国产精品一区二区av | 国产精品99久久久久久久久久久久 | www.com黄色| 黄网站色成年免费观看 | 玖玖视频 | 国产精品一区二区精品视频免费看 | 久久国产精品99久久久久久丝袜 | 久久午夜网 | 91片黄在线观看 | 亚洲精品h| 国产精彩在线视频 | 欧美在线视频一区二区三区 | 国产麻豆视频 | 97超级碰碰| 国产成人99av超碰超爽 | 一区二区三区四区精品 | 国产夫妻自拍av | 欧美在线视频一区二区 | 亚洲一区免费在线 | 操操日 | 色亚洲激情 | 日韩久久久久久久久久久久 | 国产成人在线免费观看 | 国产大片黄色 | 91av99| 欧美 日韩 国产 中文字幕 | 日韩av资源在线观看 | 狠狠干成人综合网 | 高清精品视频 | 欧女人精69xxxxxx | 97自拍超碰 | 久久综合亚洲鲁鲁五月久久 | 在线观看不卡的av | 久久久精品99 | 日韩视频免费看 | 日本韩国中文字幕 | 欧美福利视频 | 日韩高清网站 | 亚洲精品免费观看视频 | 国产第一页在线观看 | 亚洲视频 在线观看 | 91高清完整版在线观看 | 中文字幕你懂的 | 91av视频在线免费观看 | 中文字幕在线观看av | 亚洲区视频在线 | 久久精品久久久久电影 | 国产精品中文 | 精品国产电影一区二区 | 米奇四色影视 | 国产成人精品一区二区 | 丁香综合网 | 国产亚洲久一区二区 | 精品国产精品国产偷麻豆 | 国产精品v a免费视频 | av直接看| 久久伊99综合婷婷久久伊 | 久久久国产一区二区 | 99视频一区| 97香蕉久久超级碰碰高清版 | 久久综合久久久 | 久久久国产网站 | av不卡免费看 | 人人看人人做人人澡 | 天天综合在线观看 | 亚洲精品视频网址 | japanesexxxhd奶水| 亚洲精品在线网站 | 开心激情综合网 | 91黄色在线看 | 日韩av免费大片 | 日韩在线播放视频 | 天天色 天天 | 成人av一区二区在线观看 | 激情深爱.com | 91黄色免费看 | 美女av免费看 | 久草在线电影网 | 国产精品免费视频观看 | 人人插人人干 | 亚洲免费精彩视频 | 精品a视频 | 久草在线免费在线观看 | 日韩av中文在线 | 在线观看香蕉视频 | 久久久久免费精品国产小说色大师 | 国产一二区视频 | 免费黄色在线网站 | 91精品国产自产91精品 | 久久精品精品电影网 | 欧美 亚洲 另类 激情 另类 | av一级片在线观看 | 婷婷综合 | 在线观看电影av | 亚洲一区二区三区miaa149 | 天天综合精品 | 亚洲国产wwwccc36天堂 | 最新av在线播放 | 日韩欧美在线播放 | 中文字幕亚洲高清 | 欧美激情第一页xxx 午夜性福利 | 中文字幕日韩一区二区三区不卡 | 欧美激情综合五月色丁香 | 日韩免费成人 | 久久久一本精品99久久精品66 | 欧美性生活小视频 | 欧美天天综合网 | 久久理论影院 | 日本久久久久久久久久 | 日韩在线三区 | 日韩欧美视频在线 | 中文字幕 国产 一区 | 中文字幕xxxx| 日本在线观看一区二区三区 | 国产精品高清在线 | 久久人人爽爽 | 黄色一级免费电影 | 日韩精品视频网站 | 五月婷香 | 91av视频在线免费观看 | 五月婷婷丁香色 | 国产精品va在线观看入 | 五月天婷婷狠狠 | 高清视频一区 | 欧美一区免费在线观看 | 97香蕉久久超级碰碰高清版 | 天天爽天天爽夜夜爽 | 97高清免费视频 | 久久精品之 | 亚洲三级网 | 国产v在线| 欧美在一区 | 丁香六月av | 欧美在线视频第一页 | 欧美国产日韩一区二区 | 国产91精品一区二区绿帽 | 狠狠色丁婷婷日日 | 五月激情五月激情 | 日韩字幕 | 国产一级视频在线观看 | a黄色片在线观看 | 91精品在线观看入口 | 中文字幕在线看视频国产中文版 | 久久久久国产a免费观看rela | 久久字幕精品一区 | 久久精品站 | 国产精品久久久久久久久久久久久久 | 欧美日韩国产在线观看 | 91精品国产综合久久福利不卡 | 韩国在线一区 | 成人午夜影院在线观看 | 免费v片 | 久久玖 | 久久天堂影院 | 亚洲播播 | www.天天干 | 性色视频在线 | 日韩在线视频观看免费 | 色综合天天射 | 六月激情网 | 在线观看视频一区二区三区 | 九九九九色 | 毛片a级片 | 国产男女无遮挡猛进猛出在线观看 | 久久人人爽爽人人爽人人片av | 91视频免费网址 | 国产一区精品在线观看 | 在线视频日韩欧美 | 91在线看黄 | 天天综合天天综合 | 麻豆视频一区二区 | 欧美精品日韩 | 日韩在线视频免费观看 | 五月天国产| 最新日韩在线观看 | 国产精品福利无圣光在线一区 | 欧美精品免费视频 | 在线 欧美 日韩 | 天天爽天天搞 | 日本中文字幕在线免费观看 | 午夜在线日韩 | 四虎影视成人精品国库在线观看 | 在线观看成人小视频 | 超碰精品在线 | 亚洲在线视频观看 | 91九色成人蝌蚪首页 | 开心婷婷色 | 天天干天天做天天爱 | 97成人在线观看 | 视频一区亚洲 | 中文字幕亚洲精品在线观看 | 美女网站色免费 | 国产女人免费看a级丨片 | 狠狠激情中文字幕 | 日韩精品黄 | 97在线精品国自产拍中文 | 五月婷婷伊人网 | 最近免费中文视频 | 久草精品视频在线观看 | 99久久久久久久 | 精品国产资源 | 日韩毛片精品 | 日韩电影在线一区二区 | 九九视频这里只有精品 | 五月婷婷激情综合 | 亚洲精品视频在线免费 | 欧美性极品xxxx做受 | 国产不卡视频 | 精品在线一区二区 | 蜜臀久久99精品久久久久久网站 | 久草精品视频在线播放 | 国产手机精品视频 | 国产免费片 | 久草在线久草在线2 | 亚洲视频免费视频 | 美女久久久久久久久久 | 久久夜色精品国产欧美乱 | 黄色在线观看网站 | 国产免费资源 | 亚洲精品91天天久久人人 | 四虎国产永久在线精品 | 一级性生活片 | 亚洲欧美国产日韩在线观看 | 808电影免费观看三年 | 国产精品久久久久久久久久久久午夜 | 亚洲九九 | 国产小视频在线播放 | 亚洲免费婷婷 | 日批在线观看 | 欧美激情精品久久久久久变态 | 五月天堂网 | 玖玖玖在线 | 久久成人黄色 | 欧美一级特黄高清视频 | 免费看短 | 视频三区 | 亚洲色图色 | 久久国产精品一区二区三区 | 日韩国产欧美在线播放 | 亚洲视频99 | 美女网站一区 | 国产无套视频 | 日韩欧美高清在线 | 亚洲春色奇米影视 | 在线观看午夜av | 91成人免费观看视频 | 精品国产亚洲一区二区麻豆 | 91视频啪 | 综合天堂av久久久久久久 | 国产福利一区二区三区在线观看 | 日韩欧美一区二区三区在线 | 在线亚洲人成电影网站色www | 91在线亚洲 | 一级国产视频 | 亚洲精品视频第一页 | 国产美女免费看 | 97综合网 | 久久激情视频网 | 久久免费a| 美女黄频 | 日韩三级免费 | 久香蕉 | 亚洲欧洲精品在线 | 黄色看片| 精品国产乱码久久久久久天美 | 四虎成人网 | 中文字幕免费成人 | 久久嗨| 亚洲美女免费精品视频在线观看 | 国产高清在线免费观看 | 久久久久久久久久久电影 | 日韩午夜在线 | 日韩欧美一区二区在线播放 | 国产 日韩 欧美 中文 在线播放 | 黄色的视频 | 亚洲影院色 | 久久爱www. | 国产在线成人 | 免费看黄电影 | 亚洲资源一区 | 久久不卡免费视频 | 中文字幕高清免费日韩视频在线 | 免费久久精品视频 | 激情偷乱人伦小说视频在线观看 | 国产在线观看你懂的 | 欧美一级日韩三级 | 久久久久久免费网 | 黄色在线看网站 | 337p日本欧洲亚洲大胆裸体艺术 | 高清有码中文字幕 | 在线国产99 | 久久高清 | 在线一二三四区 | 亚洲国产精品女人久久久 | 在线影视 一区 二区 三区 | 久久免费看a级毛毛片 | 国产69精品久久久久久久久久 | wwwwww黄| 久久久精品免费看 | 欧美日韩电影在线播放 | 黄色国产区 | av片在线观看免费 | 成年人在线看片 | 99精品免费久久久久久久久 | 久久手机精品视频 | 国产高清在线a视频大全 | 伊人久久一区 | 久久久久亚洲精品男人的天堂 | 中文字幕.av.在线 | 亚洲久草网| 亚洲欧美国产精品久久久久 | 国产在线观看免 | 婷婷网五月天 | 色婷婷综合久久久 | 婷婷精品国产一区二区三区日韩 | 国产精品18久久久久久久久久久久 | 天天做天天看 | 人人插人人干 | 91精品国产92久久久久 | 成人99免费视频 | 国产超碰在线 | 国产精品一区二区久久精品爱涩 | 国内精品久久久久久久久久久久 | 99久久精品无码一区二区毛片 | 欧美日韩国产mv | 久久久国产电影 | 久久久蜜桃一区二区 | 国产在线观看中文字幕 | 99热国产精品 | 欧美性粗大hdvideo | 精品一区二区在线免费观看 | 亚洲一区在线看 | 97超碰影视 | 亚洲综合干 | 天天色天天爱天天射综合 | 亚洲视频99| 蜜臀av网站| 久久曰视频 | 亚洲一区 av| 国产自产在线视频 | 久久人人爽人人爽人人片 | 97超碰国产精品女人人人爽 | 九色最新网址 | 黄污视频网站大全 | 六月丁香伊人 | 中日韩免费视频 | 69欧美视频 | 黄色av电影在线 | 日本中文字幕系列 | a在线一区| 久草精品视频 | 麻豆国产精品一区二区三区 | 免费在线观看亚洲视频 | 成人毛片在线观看 | 国产成人免费在线观看 | 日韩xxx视频| 亚洲精品午夜一区人人爽 | 夜夜婷婷 | 午夜影院一级片 | 欧美激情视频一二三区 | 久久精品一二区 | 亚洲区另类春色综合小说 | www.狠狠| 超碰在线最新网址 | 国产电影一区二区三区四区 | 91麻豆精品国产91久久久久 | 香蕉精品视频在线观看 | 日韩在线观看视频网站 | 91在线看网站 | 俺要去色综合狠狠 | 男女免费av | 亚洲狠狠婷婷综合久久久 | 精品久久五月天 | 一本一道久久a久久精品蜜桃 | 精品视频成人 | 国产成人333kkk |