国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

一個(gè)架構(gòu)師的緩存修煉之路

共 5014字,需瀏覽 11分鐘

 ·

2020-12-22 14:57

本文作者:張勇,現(xiàn)任科大訊飛高級(jí)架構(gòu)師。11年后端經(jīng)驗(yàn),曾就職于同程藝龍、神州優(yōu)車等公司。樂(lè)于分享、熱衷通過(guò)自己的實(shí)踐經(jīng)驗(yàn)平鋪對(duì)技術(shù)的理解。

一位七牛的資深架構(gòu)師曾經(jīng)說(shuō)過(guò)這樣一句話:

Nginx+業(yè)務(wù)邏輯層+數(shù)據(jù)庫(kù)+緩存層+消息隊(duì)列,這種模型幾乎能適配絕大部分的業(yè)務(wù)場(chǎng)景。

這么多年過(guò)去了,這句話或深或淺地影響了我的技術(shù)選擇,以至于后來(lái)我花了很多時(shí)間去重點(diǎn)學(xué)習(xí)緩存相關(guān)的技術(shù)。

我在10年前開(kāi)始使用緩存,從本地緩存、到分布式緩存、再到多級(jí)緩存,踩過(guò)很多坑。下面我結(jié)合自己使用緩存的歷程,談?wù)勎覍?duì)緩存的認(rèn)識(shí)。

01?本地緩存

1. 頁(yè)面級(jí)緩存

我使用緩存的時(shí)間很早,2010年左右使用過(guò) OSCache,當(dāng)時(shí)主要用在 JSP 頁(yè)面中用于實(shí)現(xiàn)頁(yè)面級(jí)緩存。偽代碼類似這樣:
"foobar"?scope="session">?
??????some jsp?content?
中間的那段 JSP 代碼將會(huì)以 key="foobar" 緩存在 session 中,這樣其他頁(yè)面就能共享這段緩存內(nèi)容。在使用 JSP 這種遠(yuǎn)古技術(shù)的場(chǎng)景下,通過(guò)引入 OSCache 之后 ,頁(yè)面的加載速度確實(shí)提升很快。
但隨著前后端分離以及分布式緩存的興起,服務(wù)端的頁(yè)面級(jí)緩存已經(jīng)很少使用了。但是在前端領(lǐng)域,頁(yè)面級(jí)緩存仍然很流行。

2. 對(duì)象緩存

2011年左右,開(kāi)源中國(guó)的紅薯哥寫(xiě)了很多篇關(guān)于緩存的文章。他提到:開(kāi)源中國(guó)每天百萬(wàn)的動(dòng)態(tài)請(qǐng)求,只用 1 臺(tái) 4 Core 8G 的服務(wù)器就扛住了,得益于緩存框架 Ehcache。
這讓我非常神往,一個(gè)簡(jiǎn)單的框架竟能將單機(jī)性能做到如此這般,讓我欲欲躍試。于是,我參考紅薯哥的示例代碼,在公司的余額提現(xiàn)服務(wù)上第一次使用了 Ehcache
邏輯也很簡(jiǎn)單,就是將成功或者失敗狀態(tài)的訂單緩存起來(lái),這樣下次查詢的時(shí)候,不用再查詢支付寶服務(wù)了。偽代碼類似這樣:

添加緩存之后,優(yōu)化的效果很明顯 , 任務(wù)耗時(shí)從原來(lái)的40分鐘減少到了5~10分鐘。
上面這個(gè)示例就是典型的對(duì)象緩存,地緩存最常見(jiàn)的應(yīng)用場(chǎng)景。相比頁(yè)面緩存,它的粒度更細(xì)、更靈活,常用來(lái)緩存很少變化的數(shù)據(jù),比如:全局配置、狀態(tài)已完結(jié)的訂單等,用于提升整體的查詢速度。

3. 刷新策略

2018年,我和我的小伙伴自研了配置中心,為了讓客戶端以最快的速度讀取配置, 本地緩存使用了 Guava,整體架構(gòu)如下圖所示:

那本地緩存是如何更新的呢?有兩種機(jī)制:

  • 客戶端啟動(dòng)定時(shí)任務(wù),從配置中心拉取數(shù)據(jù)。
  • 當(dāng)配置中心有數(shù)據(jù)變化時(shí),主動(dòng)推送給客戶端。這里我并沒(méi)有使用websocket,而是使用了 RocketMQ Remoting 通訊框架。
后來(lái)我閱讀了 Soul 網(wǎng)關(guān)的源碼,它的本地緩存更新機(jī)制如下圖所示,共支持 3 種策略:

▍zookeeper watch機(jī)制

soul-admin 在啟動(dòng)的時(shí)候,會(huì)將數(shù)據(jù)全量寫(xiě)入 zookeeper,后續(xù)數(shù)據(jù)發(fā)生變更時(shí),會(huì)增量更新 zookeeper 的節(jié)點(diǎn)。與此同時(shí),soul-web 會(huì)監(jiān)聽(tīng)配置信息的節(jié)點(diǎn),一旦有信息變更時(shí),會(huì)更新本地緩存。

▍websocket 機(jī)制

websocket 和 zookeeper 機(jī)制有點(diǎn)類似,當(dāng)網(wǎng)關(guān)與 admin 首次建立好 websocket 連接時(shí),admin 會(huì)推送一次全量數(shù)據(jù),后續(xù)如果配置數(shù)據(jù)發(fā)生變更,則將增量數(shù)據(jù)通過(guò) websocket 主動(dòng)推送給 soul-web。

▍http 長(zhǎng)輪詢機(jī)制

http請(qǐng)求到達(dá)服務(wù)端后,并不是馬上響應(yīng),而是利用 Servlet 3.0 的異步機(jī)制響應(yīng)數(shù)據(jù)。當(dāng)配置發(fā)生變化時(shí),服務(wù)端會(huì)挨個(gè)移除隊(duì)列中的長(zhǎng)輪詢請(qǐng)求,告知是哪個(gè) Group 的數(shù)據(jù)發(fā)生了變更,網(wǎng)關(guān)收到響應(yīng)后,再次請(qǐng)求該 Group 的配置數(shù)據(jù)。

不知道大家發(fā)現(xiàn)了沒(méi)?
  • pull 模式必不可少
  • 增量推送大同小異
長(zhǎng)輪詢是一個(gè)有意思的話題 , 這種模式在 RocketMQ 的消費(fèi)者模型也同樣被使用,接近準(zhǔn)實(shí)時(shí),并且可以減少服務(wù)端的壓力。

02 分布式緩存

關(guān)于分布式緩存, memcached 和 Redis 應(yīng)該是最常用的技術(shù)選型。相信程序員朋友都非常熟悉了,我這里分享兩個(gè)案例。

1.? 合理控制對(duì)象大小及讀取策略

2013年,我服務(wù)一家彩票公司,我們的比分直播模塊也用到了分布式緩存。當(dāng)時(shí),遇到了一個(gè) Young GC 頻繁的線上問(wèn)題,通過(guò) jstat 工具排查后,發(fā)現(xiàn)新生代每隔兩秒就被占滿了。
進(jìn)一步定位分析,原來(lái)是某些 key 緩存的 value 太大了,平均在 300K左右,最大的達(dá)到了500K。這樣在高并發(fā)下,就很容易導(dǎo)致 GC 頻繁。
找到了根本原因后,具體怎么改呢?我當(dāng)時(shí)也沒(méi)有清晰的思路。于是,我去同行的網(wǎng)站上研究他們是怎么實(shí)現(xiàn)相同功能的,包括:360彩票,澳客網(wǎng)。我發(fā)現(xiàn)了兩點(diǎn):

1、數(shù)據(jù)格式非常精簡(jiǎn),只返回給前端必要的數(shù)據(jù),部分?jǐn)?shù)據(jù)通過(guò)數(shù)組的方式返回

2、使用 websocket,進(jìn)入頁(yè)面后推送全量數(shù)據(jù),數(shù)據(jù)發(fā)生變化推送增量數(shù)據(jù)

再回到我的問(wèn)題上,最終是用什么方案解決的呢?當(dāng)時(shí),我們的比分直播模塊緩存格式是 JSON 數(shù)組,每個(gè)數(shù)組元素包含 20 多個(gè)鍵值對(duì), 下面的 JSON 示例我僅僅列了其中 4 個(gè)屬性。

[{     "playId":"2399",     "guestTeamName":"小牛",     "hostTeamName":"湖人",     "europe":"123" }]

這種數(shù)據(jù)結(jié)構(gòu),一般情況下沒(méi)有什么問(wèn)題。但是當(dāng)字段數(shù)多達(dá) 20 多個(gè),而且每天的比賽場(chǎng)次非常多時(shí),在高并發(fā)的請(qǐng)求下其實(shí)很容易引發(fā)問(wèn)題。

基于工期以及風(fēng)險(xiǎn)考慮,最終我們采用了比較保守的優(yōu)化方案:

1)修改新生代大小,從原來(lái)的 2G 修改成 4G
2)將緩存數(shù)據(jù)的格式由 JSON 改成數(shù)組,如下所示:
[["2399","小牛","湖人","123"]]

修改完成之后, 緩存的大小從平均 300k 左右降為 80k 左右,YGC 頻率下降很明顯,同時(shí)頁(yè)面響應(yīng)也變快了很多。

但過(guò)了一會(huì),cpu load 會(huì)在瞬間波動(dòng)得比較高??梢?jiàn),雖然我們減少了緩存大小,但是讀取大對(duì)象依然對(duì)系統(tǒng)資源是極大的損耗,導(dǎo)致 Full GC 的頻率也不低。?

3)為了徹底解決這個(gè)問(wèn)題,我們使用了更精細(xì)化的緩存讀取策略。

我們把緩存拆成兩個(gè)部分,第一部分是全量數(shù)據(jù),第二部分是增量數(shù)據(jù)(數(shù)據(jù)量很小)。頁(yè)面第一次請(qǐng)求拉取全量數(shù)據(jù),當(dāng)比分有變化的時(shí)候,通過(guò) websocket 推送增量數(shù)據(jù)。

第 3 步完成后,頁(yè)面的訪問(wèn)速度極快,服務(wù)器的資源使用也很少,優(yōu)化的效果非常優(yōu)異。

經(jīng)過(guò)這次優(yōu)化,我理解到:? 緩存雖然可以提升整體速度,但是在高并發(fā)場(chǎng)景下,緩存對(duì)象大小依然是需要關(guān)注的點(diǎn),稍不留神就會(huì)產(chǎn)生事故。另外我們也需要合理地控制讀取策略,最大程度減少 GC 的頻率 , 從而提升整體性能。

2.? 分頁(yè)列表查詢

列表如何緩存是我非??释痛蠹曳窒淼募寄茳c(diǎn)。這個(gè)知識(shí)點(diǎn)也是我 2012 年從開(kāi)源中國(guó)上學(xué)到的,下面我以查詢博客列表的場(chǎng)景為例。
我們先說(shuō)第 1 種方案:對(duì)分頁(yè)內(nèi)容進(jìn)行整體緩存。這種方案會(huì)按照頁(yè)碼和每頁(yè)大小組合成一個(gè)緩存key,緩存值就是博客信息列表。假如某一個(gè)博客內(nèi)容發(fā)生修改, 我們要重新加載緩存,或者刪除整頁(yè)的緩存。
這種方案,緩存的顆粒度比較大,如果博客更新較為頻繁,則緩存很容易失效。下面我介紹下第 2 種方案:僅對(duì)博客進(jìn)行緩存。流程大致如下:
1)先從數(shù)據(jù)庫(kù)查詢當(dāng)前頁(yè)的博客id列表,sql類似:
select?id?from?blogs?limit?0,10?
2)批量從緩存中獲取博客id列表對(duì)應(yīng)的緩存數(shù)據(jù) ,并記錄沒(méi)有命中的博客id,若沒(méi)有命中的id列表大于0,再次從數(shù)據(jù)庫(kù)中查詢一次,并放入緩存,sql類似:
select?id?from?blogs?where?id?in?(noHitId1,?noHitId2)
3)將沒(méi)有緩存的博客對(duì)象存入緩存中
4)返回博客對(duì)象列表
理論上,要是緩存都預(yù)熱的情況下,一次簡(jiǎn)單的數(shù)據(jù)庫(kù)查詢,一次緩存批量獲取,即可返回所有的數(shù)據(jù)。另外,關(guān)于存批量獲取,如何實(shí)現(xiàn)?
  • 本地緩存:性能極高,for 循環(huán)即可
  • memcached:使用 mget 命令
  • Redis:若緩存對(duì)象結(jié)構(gòu)簡(jiǎn)單,使用 mget 、hmget命令;若結(jié)構(gòu)復(fù)雜,可以考慮使用 pipleline,lua腳本模式
第 1 種方案適用于數(shù)據(jù)極少發(fā)生變化的場(chǎng)景,比如排行榜,首頁(yè)新聞資訊等。
第 2 種方案適用于大部分的分頁(yè)場(chǎng)景,而且能和其他資源整合在一起。舉例:在搜索系統(tǒng)里,我們可以通過(guò)篩選條件查詢出博客 id 列表,然后通過(guò)如上的方式,快速獲取博客列表。

03 多級(jí)緩存

首先要明確為什么要使用多級(jí)緩存?
本地緩存速度極快,但是容量有限,而且無(wú)法共享內(nèi)存。分布式緩存容量可擴(kuò)展,但在高并發(fā)場(chǎng)景下,如果所有數(shù)據(jù)都必須從遠(yuǎn)程緩存種獲取,很容易導(dǎo)致帶寬跑滿,吞吐量下降。
有句話說(shuō)得好,緩存離用戶越近越高效!
使用多級(jí)緩存的好處在于:高并發(fā)場(chǎng)景下, 能提升整個(gè)系統(tǒng)的吞吐量,減少分布式緩存的壓力。
2018年,我服務(wù)的一家電商公司需要進(jìn)行 app 首頁(yè)接口的性能優(yōu)化。我花了大概兩天的時(shí)間完成了整個(gè)方案,采取的是兩級(jí)緩存模式,同時(shí)利用了 guava 的惰性加載機(jī)制,整體架構(gòu)如下圖所示:

緩存讀取流程如下:

1、業(yè)務(wù)網(wǎng)關(guān)剛啟動(dòng)時(shí),本地緩存沒(méi)有數(shù)據(jù),讀取 Redis 緩存,如果 Redis 緩存也沒(méi)數(shù)據(jù),則通過(guò) RPC 調(diào)用導(dǎo)購(gòu)服務(wù)讀取數(shù)據(jù),然后再將數(shù)據(jù)寫(xiě)入本地緩存和 Redis 中;若 Redis 緩存不為空,則將緩存數(shù)據(jù)寫(xiě)入本地緩存中。

2、由于步驟1已經(jīng)對(duì)本地緩存預(yù)熱,后續(xù)請(qǐng)求直接讀取本地緩存,返回給用戶端。

3、Guava 配置了 refresh 機(jī)制,每隔一段時(shí)間會(huì)調(diào)用自定義 LoadingCache 線程池(5個(gè)最大線程,5個(gè)核心線程)去導(dǎo)購(gòu)服務(wù)同步數(shù)據(jù)到本地緩存和 Redis 中。

優(yōu)化后,性能表現(xiàn)很好,平均耗時(shí)在 5ms 左右。最開(kāi)始我以為出現(xiàn)問(wèn)題的幾率很小,可是有一天晚上,突然發(fā)現(xiàn) app 端首頁(yè)顯示的數(shù)據(jù)時(shí)而相同,時(shí)而不同。

也就是說(shuō):?雖然 LoadingCache 線程一直在調(diào)用接口更新緩存信息,但是各個(gè)服務(wù)器本地緩存中的數(shù)據(jù)并非完成一致。說(shuō)明了兩個(gè)很重要的點(diǎn):?

1、惰性加載仍然可能造成多臺(tái)機(jī)器的數(shù)據(jù)不一致

2、 LoadingCache 線程池?cái)?shù)量配置的不太合理,? 導(dǎo)致了線程堆積

最終,我們的解決方案是:
1、惰性加載結(jié)合消息機(jī)制來(lái)更新緩存數(shù)據(jù),也就是:當(dāng)導(dǎo)購(gòu)服務(wù)的配置發(fā)生變化時(shí),通知業(yè)務(wù)網(wǎng)關(guān)重新拉取數(shù)據(jù),更新緩存。
2、適當(dāng)調(diào)大 LoadigCache 的線程池參數(shù),并在線程池埋點(diǎn),監(jiān)控線程池的使用情況,當(dāng)線程繁忙時(shí)能發(fā)出告警,然后動(dòng)態(tài)修改線程池參數(shù)。
寫(xiě)在最后

緩存是非常重要的一個(gè)技術(shù)手段。如果能從原理到實(shí)踐,不斷深入地去掌握它,這應(yīng)該是技術(shù)人員最享受的事情。

這篇文章屬于緩存系列的開(kāi)篇,更多是把我 10 多年工作中遇到的典型問(wèn)題娓娓道來(lái),并沒(méi)有非常深入地去探討原理性的知識(shí)。

我想我更應(yīng)該和朋友交流的是:?????如何體系化的學(xué)習(xí)一門(mén)新技術(shù)。

  • 選擇該技術(shù)的經(jīng)典書(shū)籍,理解基礎(chǔ)概念?
  • 建立該技術(shù)的知識(shí)脈絡(luò)?
  • 知行合一,在生產(chǎn)環(huán)境中實(shí)踐或者自己造輪子
  • 不斷復(fù)盤(pán),思考是否有更優(yōu)的方案

后續(xù)我會(huì)連載一些緩存相關(guān)的內(nèi)容:包括緩存的高可用機(jī)制、codis 的原理等,歡迎大家繼續(xù)關(guān)注。

關(guān)于緩存,如果你有自己的心得體會(huì)或者想深入了解的內(nèi)容,歡迎評(píng)論區(qū)留言。

END


有熱門(mén)推薦?

1.?心驚肉跳,新來(lái)的妹紙 rm -rf 把公司整個(gè)數(shù)據(jù)庫(kù)刪沒(méi)了?。?!

2.?搞一個(gè)短信驗(yàn)證碼登錄,難嗎?

3.?Prometheus + Granafa 構(gòu)建高大上的MySQL監(jiān)控平臺(tái)

4.?面試前必知必會(huì)的二分查找及其變種

最近面試BAT,整理一份面試資料Java面試BATJ通關(guān)手冊(cè),覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)結(jié)構(gòu)等等。

獲取方式:點(diǎn)“在看”,關(guān)注公眾號(hào)并回復(fù)?Java?領(lǐng)取,更多內(nèi)容陸續(xù)奉上。

文章有幫助的話,在看,轉(zhuǎn)發(fā)吧。

謝謝支持喲 (*^__^*)

瀏覽 41
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 麻豆成人91精品二区三区| 亚洲午夜无码精品专区| 内射精品| 欧美性爱免费网站| 午夜福利免费| www.人人摸| 欧美AA级毛片| 一区二区中文| 91丨牛牛丨国产人妻| 精品蜜桃一区二区三区| 岛国精品在线播放| 91成人在线免费视频| 啪啪网站免费观看| 久久久波多野结衣| 肏屄在线观看| 91福利区| 日韩视频免费看| h片在线观看| 黄色片网站在线观看| 色图欧美色图| 91网站免费在线观看| 久久99国产乱子伦...| 加勒比无码视频| 日韩一区二区三区四区久久久精品有吗 | 秋霞网一区二区| 国产狂喷水潮免费网站www| 成人在线网| 人人操人人插| 特级毛片www| 六月丁香视频| 北条麻妃av在线播放| 久久怡春院| 久久精品视频国产| 免费看国产黄色| 在线观看中文字幕视频| 伊人丁香| 亚洲人视频| 成人av黄色三级片在线观看| 啪啪啪啪网站| 亚洲激情网站| 四虎黄色| 无码福利电影| 玖玖爱国产| 免费A片观看| 九七人妻| 免费在线黄色视频| 日韩成人黄片| 三级内射| 三级内射| 12——13女人毛片毛片| 中文字幕VA| 中文字幕无码A片| 91黄网站在线观看| 国产男女无套免费| 蜜桃在线一区| 高清无码中文字| 国产午夜影视| 西西www444无码大胆| 人人操人人干97| 亚洲AVwww| 大香蕉婷婷| 水蜜桃在线视频| 美女天天操| www.婷婷五月天| 天天av天天av天天爽| 九色精品| 日韩在线不卡视频| 在线视频日韩| 亚洲欧美一区二区三区在线| 天天做天天爱天天爽| 影音先锋日韩资源| 日韩精品久久久久久久| 久操视频网| 日日爱爱| 国产熟女乱伦视频| 米奇色色| 男女av在线| 欧美一级日韩一级| 精品91| 精品偷拍| 久久久一区二区三区四区免费听| 免费看成人747474九号视频在线观看| 91视频在线观看免费| 日日撸| 日日碰狠狠| 乱伦精品| 国产精品激情| 99re欧美激情| 日韩另类| se婷婷| 国产精品毛片一区视频播| 日韩视频免费看| 91人妻日韩人妻无码专区精品| 麻豆疯狂做受XXXX高潮视频 | 伊人在线成人视频| 伊人色色综合| 人人澡人人爽欧一区| 91麻豆一区二区| 欧美激情中文字幕| 日本wwwwww| 91人人妻人人| 精品一区二区免费| 性BBW| 麻豆熟女| 俺也日| 国产精品国产三级国产AⅤ原创| 亚洲AV无一区二区三区久久| 壁特壁视频在线观看| 九色一区| 日韩无码激情| 国产久久久久| 91中文字幕| 成人性爱福利视频| 老熟女AV| 亚洲va欧美ⅴa在线| 五月丁香人妻| 撸一撸免费视频| 日韩一级免费在线观看| 国产精品国产三级国产专区53| 一道本无码在线观看| 国产精品免费人成人网站酒店| 成人av中文字幕| 久久久久伊人| 91香蕉国产| 亚洲天堂成人| 日韩三级| 亚洲AV综合色区无码国产播放| 九九伊人大香蕉| 人妻熟女在线视频| 97国产精品视频人人做人人爱| 操B在线视频| 欧美午夜黄片| 色色色网站| 免费AV大全| 夜夜欢天天干| 天堂素人约啪| 一级视频免费观看| 中文字幕一二三四| 好男人WWW社区在线视频夜恋| 久草免费在线观看视频| 久在线视频| 操b视频在线观看| 亚洲成人在线网站| 国产小视频在线| 伊人成人视频在线观看| 黄色视频免费在线看| www日韩欧美| 日本爱爱免费播放视频| 欧美日韩亚洲中文字幕| 亚洲精品人伦一区二区| 中文丰满亲子伦| 在线观看国产| 中文字幕乱码亚洲无线码按摩| 伊人av网| 亚洲欧美在线视频观看| jizz无码| 亚洲欧洲精品在线| 91丨九色丨熟女老版| 国产又爽又黄A片免费观看| 国产最新在线| 欧美男女操逼视频| 又色又爽| 久热福利视频| 成人91看片| 99热综合| 黄色大片中国一级片-免费看特一级片-亚洲黄色AV | 神马午夜精品96| 黄色大片久草| 婷婷五月激情小说| 天天干天天天天| 蜜臀99久久精品久久久懂爱| 超碰97久久| 日韩无码影院| 青青草人人| 91亚瑟视频| 亚洲高清超级无码在线视频观看 | 亚洲AV大片| 另类日韩| 欧美无人区码suv| 五月婷婷免费视频| 日韩不卡av| 超碰人人操人人摸| 欧美色图综合网| 99久久久成人国产精品| 日韩在线视频网| 九九成人精品| 在线观看亚洲专区| 老司机免费福利视频| 午夜操| 青青草大香蕉在线| 日韩在线网址| 午夜福利三级| 中文一级片| 懂色成人视频在线观看| 人人摸人人看人人| 黄色片在线观看视频| AA黄色片| 91青青草| 五月婷婷俺也去| 91porn在线观看| 999国产精品| 小h片在线观看| 午夜操爽| 国产又爽又黄免费观看| 中文解说AⅤ水果派| 黄色av免费| 人人妻人人澡人人爽久久con | 亚洲欧美人妻| 午夜操人妻| 91精品国产乱码久久| 五月婷婷色色色| 操久久久| 欧美日逼小视频| 亚洲Av无码午夜国产精品色软件 | 成人做爰100部片视频| 中文字幕AV在线免费观看| 影音先锋av无码| a片网| 婷婷五月天青草| 亚洲AV无码成人精品区www| 学生妹毛片视频| 成人小说在线观看| 91大长腿美女花外围在线观看| 欧美黄网站在线观看| 91.www91成人影视在线观看91成人网址9 | 亚洲成人AV在线播放| 日韩人妻精品中文字幕| 99久久精彩视频| 日本理论片一道本| 无码a区| 初学影院WWWBD英语完整版在线观看 | 做爱网站| 影音先锋色资源站| 久久私人影院| 亚洲综合免费观看| 久久av一区| 国产A级视频| 搡BBBB| 天天操天天干欧美精品| 天天草天天草| 欧美一級黃色A片免費看| 国产精品黄色| 久久动态图| 欧美夜夜骑| 欧美一级日韩一级| 日韩二级片| 亚洲性爱小说| 特级西西西西4444级酉西88wwww特 | 亚洲无码成人| av无码av天天av天天爽| 伊人春色av| 大香蕉视频在线观看| 大香蕉玖玖| 开心色情| av女人天堂| 久久高潮| 免费观看黄色小视频| 日韩在线视频免费观看| 热re99久久精品国产99热| 日韩婬乱片A片AAA真人视频 | 最新AV| 校园春色成人| 欧洲美一区二区三区亚洲| 操批视频| 人妻体体内射精一区二区| 另类欧美色图| AAA黄片| 91久久偷拍视频| 久在线视频| 久久久久久91香蕉国产| 亚洲熟妇在线观看一区二区| 久久AV影院| 国产18欠欠欠一区二区| 中文熟妇| 欧美成人色图| 中文无码高清在线| 超碰爱爱| 无码高清在线观看| 国产又粗又大又长| 国产成人精| 撸撸操在线视频观看只有精品| www.199麻豆在线观看网站| 99热在线看| 夜夜网站| 毛片中文字幕| 亚洲精品乱码久久久久| 人妻HDHDHD96XXXX| 婷婷色综合| 夜夜爽夜夜高潮夜夜爽| 美女天天干| 激情六月| 国产1级片| 四虎成人视频| 国产成人精品毛片| 亚洲无码视频免费| 性色aV中文字幕| 亚洲无码一区在线| 爽好紧别夹喷水网站| 国产免费AV片在线无码| 大香蕉伊人在线网| 无毛无码| 99热国产在线观看| 天天做天天干| 亚州无码精品| 成人毛片18女人毛片| 丁香五月伊人| 1插菊花综合| 骚逼中文字幕| 国产69精品久久久久久| 国产视频久久| 五月大香蕉| 成人做爰黄A片免费看陈冠| 五月天婷婷小说| 婷婷内射| 欧美日韩四区| AA久久| 炮友露脸青楼传媒刘颖儿| 日韩性爱片| 久久精品一区二区三区四区| 亚洲天堂一区在线观看| 91探花国产综合在线精品| 九九色播| 久久伊人精品| 日韩一级乱伦| 久久77777| 欧美A级视频在线观看| 人人干97| 大香蕉伊人| 五月丁香视频在线观看| yw在线观看| 国产一区二区视频在线| 日韩特黄| 91aV视频| 成人a毛片| 亚洲毛片亚洲毛片亚洲毛片| 国产AV一区二区三区四区| 淫色AV| 正在播放JUQ-878木下凛凛子| 94精品人人人| 91亚洲国产AⅤ精品一区二区 | 一区二区三区四区免费观看| 美女少妇激情BBBB| 丁香在线视频| 未满十八18禁止免费无码网站| 18禁网站禁片免费观看| 欧美在线观看一区二区| 国产娇小13videos糟蹋| 天天干天天上| 青青青草视频在线观看| 97黄色| 亚洲AV无码乱码国产精品蜜芽| 日韩精品一区二区三免费视频| 天天撸一撸视频| www,操逼| 成人小视频18| 激情啪啪网站| 亚洲av免费在线| 亚洲视频三区| 天堂在线中文| 黄色A片网址| 91夫妻视频| 韩国无码中文| 无码免费婬AV片在线观看| 中文字幕国产在线观看| 青娱乐超碰在线| 成人午夜天堂| 黄色一级网站| 国产午夜成人免费看片无遮挡| 人妻在线你懂的| 国产精品第二页| 北条麻妃无码精品AV怎么看| 最近中文字幕在线| 欧美一级片免费看| 国产成人无码永久免费| 国产真人无码| 日韩AV毛片| 亚洲射色| 亚洲精品成人无码| 精品一区电影| 91人妻无码一区二区久久| 五月丁香亭亭| 夜色福利在线看| 无码人妻精品一区二区三| 国产无遮挡又黄又爽又色视频软件| 黄色免费在线观看视频| 國產精品777777777| 99在线精品视频| 一区二区三区四区在线看| 激情小视频国产在线播放| 亚洲国产成人91PORN| 大黑逼AV| 99精品在线免费观看| 欧美MV日韩MV国产网站| 91九色蝌蚪| 亚欧洲精品在线视频| 欧美18禁黄免费网站| 九九激情| 在线v片| 激情乱伦五月天| 亲子伦一区二区三区观看方式| 一区二区亚洲| 久久国产精品一区二区三区| 国产欧美在线观看不卡| 无码AⅤ一区二区三区| 成人欧美一区二区三区在线观看| 91搞搞| 北京熟妇搡BBBB搡BBBB| 败火老熟女ThePorn视频| 五月天婷婷av| 欧美二区视频| 影音先锋成人资源| 一道本无码在线播放| 麻豆国产成人AV一区二区三区 | 欧美成人三级在线| 成人做爰100片免费着| 一级a片免费看| 日韩av高清| 日韩中文字幕无码人妻| 国产精品观看| 日日夜夜精选视频| 中文字幕av在线| 激情五月在线| 内射视频网| 91AV在线播放| 骚妇大战黑人15P| 蜜桃传媒AV| 大地影院在线资源观看| 国产精品无码中文在线| AV一二区| 骚逼av| 女人18片毛片90分钟免费明星| 国产中文字幕片| 懂色av粉嫩av蜜臀av| 99热999| 丁香五月在线| aaa无码| 2021国产精品视频| 操逼在线观看| 国产嫩BBwBBw高潮| 亚洲免费观看在线观看| 国产一级内射| 97日韩| 精品久久无码中文字幕| 久久毛片| 91久久精品一区二区三| 国产无码午夜| 一区二区三区欧美| 手机成人在线视频| 亚洲瑟瑟| 日韩精品高清中文| www.91在线| 亚洲欧洲无码视频| 欧美亚洲成人精品| 免费在线看黄网站| 国产乱伦AV网站| 在线观看免费黄| 亚洲久久久久| 俺来俺也去www色在线观看| 一道本无码免费视频| 成人做爰A片AAA毛真人| 色婷婷精品视频| 成人免费视频一区| 国产在线激情| 免费黄色三级片| 黑人毛片91久久久久久| H版视频| AV片在线观看| 亚洲欧美日韩动漫| 成人亚洲性情网站www在线| www.婷婷五月天| 高清无码视频观看| 99色天堂| 国产欧美一区二区三区视频| 欧美成人版| 国产乱伦毛片| 激情婷婷在线| 91免费视频网站| 奇米狠狠操| 丁香婷婷综合网| 影音先锋无码AV| 日本三级网| 中文字幕高清无码在线观看| 躁BBB躁BBB躁BBBBBB日视频| 日欧美美女逼| 另类日韩| 人人妻人人插| 自慰喷水在线观看| 色色网站免费| 久久美女视频| 欧美一级婬片AAAAAA片| 9999re| 欧美footjob高跟脚交| 亚洲免费播放| 色综合欧美| 日本中文字幕精品| 成人电影aaa| 中文字幕在线网站| 男人的天堂社区| 天天爽夜夜操| 九九热播精品| 人妻中文无码| 在线观看成年人视频| 成人午夜啪免费视频在线观看软件 | 91久久久青青青青草| 亚洲va欧美va天堂v国产综合| 色婷婷久久综合久色| 国产成人精品二三区麻豆| 成人在线一区二区三区| 成人在线视频一区| 欧美黄色小说| 亚洲成人小说| 亚洲v在线观看| 国产av日韩av| 国际精品久久久| 国产福利AV| 无码精品视频在线观看| 精品视频在线观看免费| 91天天在线| 国产一级a毛一级a毛片视频黑人 | 99精品视频在线观看免费| 欧美性爱一级| 男人的天堂网页| 成人在线视频一区| 亚洲美眉综合网| 欧美一级婬片免费视频黄| 91啦丨露脸丨熟女色啦| 久色天堂| 91成人电影院| 中文字幕黑人无码| 日日干日日操| 口爆吞精在线观看| 蜜桃av秘无码一区三| 91理论片| 一区二区中文字幕| mm131亚洲国产精品久久| 九九成人网站| 日本親子亂子倫XXXX50路| 日本一级婬片免费放| 九九re精品视频在线观看| 日韩黄色免费视频| 亚洲在线免费| 亚洲欧洲中文字幕| 中文字幕第315页| 欧美日韩无码视频| www.俺去啦| 久久爱91| 午夜3D动漫AV| 91站街农村熟女露脸| 欧美亚洲日韩中文字幕| 自拍偷拍一区二区| 尤物网站在线观看| 亚洲在线观看网站| 手机看片福利一区二区| 青青草手机在线视频| 麻豆mdapp03.tⅴ| 日日摸日日操| 欧美国产综合| 人人弄| 一本色道久久综合狠狠躁| 99久久免费网| 中文字幕+乱码+中文乱码91| 中文字幕一区二区6页| 在线黄色AV| 囯产精品久久久| 成人日韩AV| 蝌蚪窝免费在线视频| 韩日黄色| 天天日天天干天天射| 精品国产三级| 中文字幕精品亚洲熟女| 日韩欧美V| 97AV视频| 亚洲日逼网| 亚洲福利网| 嫩BBB槡BBBB槡BBB小号| 日本一级特黄电影| 人人干人人爱| 黄色片a| 国产熟妇婬乱A片免费看牛牛| 九九国产| 一本一本久久a久久精品牛牛影视| 亚洲婷婷在线视频| 国产精品伦子伦免费视频| 国产AV一区二区三区四区五区 | 一区二区不卡| 广东BBW搡BBBB搡| 国产激情| 日本三级中文字幕| 韩日AV| A片大香蕉| 黄色一级视频在线观看| 无码国产99精品久久久久网站| 欧美日韩亚洲一区二区三区 | 在线播放91灌醉迷J高跟美女| 久久高清亚洲| 精品九九九九九九| 免费三区| 欧美日韩免费在线播放电影在线播放电影在线播放电影免费 | 色爱av| 久久久久久久免费无码| www.操逼网| 五月天婷婷在线观看视频| 麻豆黄网| 欧美激情视频在线| 伊人久久福利视频| 在线无码播放| 亚洲偷| 国产做受91一片二片老头| 91成人一区二区三区| 亚洲AV成人精品一区二区三区| 国产V视频| 日韩欧美一级视频| 福利视频一区二区| 久久视频一区| 免费无码在线视频| 天天干天天操天天爽| 91色色色色| 日本久久久久| 一级特黄大片录像i| 久热在线资源福利站| 国产亚洲无码| 五月欧美激情| 欧美老妇日韩| 欧美成人性爱网址| 六月婷婷深爱| 亚洲欧洲有码在线| 法国《少女日记》电影| 亚洲天堂视频在线观看| 97中文字幕| 玖玖在线视频| 高清无码视频网站| 超碰免费在线观看| 亚洲激情网站| 99热这里只有精品99| 国产一级婬片A片| 人人插人人操| 人人澡人人看| 人人摸人人艹| www.91自拍| 日韩福利在线观看| 臭小子啊轻点灬太粗太长了的视频| 久久男女| 大荫蒂HD大荫蒂视频| 久久久免费| 一区二区高清视频| 亚洲操逼片| 蜜芽无码| 俺也去av| 久久精品视频18| 夜夜操免费视频| 俺去夜| 国产一级婬片A片| 蜜臀91| 国产激情小视频| 影音先锋aV成人无码电影| 成人网视频| 波多野结衣不卡| AV无码在线观看| 99热这里有精品| 国产口爆| 午夜艹| 人人操人人看人人摸| 欧美色乱| 国产精品特级毛片| 精国产品一区二区三区A片| 日韩无码破解| 国产一区视频18| 翔田千里av在线| 少妇人妻一级A毛片| 中国毛片视频| 黄色一级大片在线免费看产| 亚洲欧洲无码视频| 狠狠色噜噜狠狠狠7777| 国产99久久久| 婷婷俺也去| 五月丁香狠狠爱| 伊人九九热| 爆草美女| 蜜臀99久久精品久久久久久软件| www.污| 色五月婷婷中文字幕| 综合网久久| 人人妻人人澡人人爽| 91超碰在线| 亚洲欧洲无码在线| 天天天天天天天天干| 在线视频三区| 国产A片一区| 一级真人毛片| 国产99页| 操逼激情网| 日本中文字幕不卡| 手机看片1024旧版| 色片在线观看| 亚洲精品一区二三区不卡| 黄色三级在线观看| 91午夜福利| 国产成人精品八戒| 亚洲成人69| 亚洲三级片免费观看| 国产精品欧美日韩| 2018中文字幕第一页| 韩国免费一级a一片在线播放 | 在线h片| aaa黄片| 青娱乐精品视频| 成人av黄色三级片在线观看| 午夜av在线播放| 西西444WWW无码视频软件功能介绍| 91就去干| 国产成人自拍偷拍视频| 蜜桃性爱视频| 超碰久操| 国产欧美一区二区三区四区| 欧美精品秘一区二区三区蜜臀 | 97视频福利| 亚洲黄色在线免费观看| 色老板网址| 狠狠干狠狠爱| 午夜激情四射| 91精品国自产在线观看| 日日干天天干| 成人在线免费观看国产| 一级成人片在线观看| 人妻无码精品蜜桃| 国产无码影视| 美女福利视频| 超碰人人91| 国产艹逼视频| 少妇搡BBBB搡BBBB毛多多| 久久婷婷五月| 444444免费高清在线观看电视剧的注意| 国产黄色直播| 国产精品人妻无码久久久郑州天气网| 天天躁天干天干| 天天草天天干| 北条麻妃高清无码| 热99精品| 亚洲蜜桃av一区| 欧美裸体视频| 婷婷五月天丁香在线| 色综合天天操| 99国产精品免费视频观看8| 毛片网站在线| 三级久久| 国产亚洲无码| 台湾精品一区二区三区| 欧美二区三区| 婷婷亚洲色| 国产精品无码无套在线| 青青草五月天色婷婷丁香| 国产卡一卡二在线观看| 成人免费啪啪视频| A片大香蕉| 熟女乱论| 强伦轩农村人妻| 欧美日韩国产不卡视频| 无码男女| 极品少妇久久久| 婷婷狠狠干| 久久久久久亚洲AV无码专区| 在线无码播放| 国产成人小视频在线观看| wwwxx国产| 狠狠干狠狠爱| 少妇综合网| 五月丁香婷婷综合| 免费操b视频| 91久久人澡人妻人人澡人人爽 | 日韩av第一页| 插菊花综合网站| a天堂视频| 日韩精品欧美一区二区三区 | 黄色a片视频| 91成人一区| 欧美激情一区二区三区| 成人免费视频性爱| 在线看毛片网站| 91亚洲精品视频在线| 九九碰九九爱97超碰| 特级特黄AAAAAAAA片| 开心四房播播第四婷婷| 黄色搞逼视频| 久久精品秘一区二区三免费 | yw在线观看| 这里视频很精彩免费观看电视剧最新 | 能看的操逼网站| 97国产精品手机| 伊人大香蕉电影| 草逼片| 五月婷婷色欲| 中文字幕乱伦视频| AV无码免费一区二区三区不卡| 九色在线观看| 台湾省成人网站| 久草香蕉| 欧美精品性爱视频| 青草国产| 北条麻妃一区二区三区| 精品人妻人人操| 国产无码三级| 天天射天天爽| 人人摸人人搞| 老熟女--91XX| 国产成人无码精品| 97人妻一区二区三区| 亚洲无码免费观看| 亚洲视频精选| 国产精品国产三级国产专区53| 国产理伦| 久久肥妞操| 看免费操逼视频| 亚洲欧美第一页| 亚洲区视频| 精品久久久久久AV2025| 特级西西WWW无码| AV久草| 国产一区二区无码| 国产免费激情视频| 久久久久久久网| 丰满人妻一区二区三区不卡二| 日韩综合在线| 亚州在线播放| 久久精品黄色| 日韩在观看线| 中文字幕视频在线直播| 亚洲国产另类无码| 日韩av免费看| 免费无码高清| 人人妻人人澡人人DⅤD| 精品人妻一区二区三区在线视频不卡| 91无码精品国产| av玖玖| 免费观看一区| 国产一级操逼视频| av资源在线| 亚洲精品日韩综合观看成人91| 91人妻人人澡人人爽人妻| 亚洲第一色网站| 丰满少妇一级片| 大香蕉9999| 人人色人人干| 北条麻妃无码精品AV怎么看| 久久视频在线| 人妻少妇无码精品| 天天操天天操免费视频| 91麻豆国产福利在线观看| 一区二区日本| 大香蕉777| 中文字幕在线无码观看| 91人妻人人爽人人澡人人爽 | 无码不卡视频在线| 四川BBB搡BBB爽爽爽电影| 亚洲日韩Av无码中文字幕美国 | 成人午夜无码| 亚洲无码视频网站| 综合色国产精品欧美在线观看| 亚洲黄色视频在线观看网站| а天堂中文在线资源| 大香蕉电影网| 欧美影院亚洲| 91在线无码精品秘国产| 黄色操逼视频| 午夜福利老司机| 日本无码免费视频| 日韩成人片| 免费在线观看AV片| 亚洲福利网站| 青青五月天| 国产精品国产精品国产专区不52 | 人人操大香蕉| 亚州一级成人片| 一级性爱毛片| 日本AⅤ在线| 亚洲伦理一区二区| 黄色电影视频网站| 一区二区三区在线观看| 免费看黄视频| 99毛片| 俺去操| h网站在线看| 亚洲免费成人网站| 啪啪视频国产| 特黄特色大片BBBB| 8050网午夜| 一级片免费观看视频| 亚洲AV无码| 久久夜色精品噜噜亚洲AV| 国产一区二区三区免费观看| 躁BBB躁BBB添BBBBBB| 免费黄片无码| 中文字幕精品在线视频| 少妇大战28厘米黑人| 免费观看一级黄片| 69网站| 久久68| 欧美啪啪网站| 日韩欧美国产高清91| 国产欧美综合在线观看| 啪啪啪免费|