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

如何解決緩存系統(tǒng)的數(shù)據(jù)不一致問題

存儲 存儲軟件
對于讀多寫少的場景,我們通常使用內(nèi)存型數(shù)據(jù)庫作為緩存,關(guān)系型數(shù)據(jù)庫作為主存儲,從而形成兩層相互依賴的存儲體系。

[[393816]]

本文轉(zhuǎn)載自微信公眾號「后端技術(shù)指南針」,作者大白。轉(zhuǎn)載本文請聯(lián)系后端技術(shù)指南針公眾號。  

 1緩存系統(tǒng)交互

緩存系統(tǒng)設(shè)計(jì)是后端開發(fā)人員的必備技能,也是實(shí)現(xiàn)高并發(fā)的重要武器。

對于讀多寫少的場景,我們通常使用內(nèi)存型數(shù)據(jù)庫作為緩存,關(guān)系型數(shù)據(jù)庫作為主存儲,從而形成兩層相互依賴的存儲體系。

共識:我們將使用Redis和MySQL作為緩存和主存的實(shí)體,展開今天的話題。

緩存系統(tǒng)的讀取場景和更新場景:

  • 讀取時(shí)只要之前MySQL和Redis中的數(shù)據(jù)是一致的,后續(xù)只要沒有更新操作就不會有什么問題,同時(shí)借助于內(nèi)存來提高并發(fā)能力,這也是我們設(shè)計(jì)緩存系統(tǒng)的初衷。
  • 對于讀多寫少的業(yè)務(wù)模型,由于操作MySQL和Redis并非天然的原子操作,會造成數(shù)據(jù)的不一致,需要特殊處理。

讀取過程示意:

讀取過程:讀請求優(yōu)先從緩存中獲取數(shù)據(jù),拿到后即可返回;如緩存無數(shù)據(jù),則從主存儲拿數(shù)據(jù),并且將數(shù)據(jù)更新到緩存中,為后續(xù)的讀取請求做鋪墊。

更新過程之所以會出現(xiàn)數(shù)據(jù)不一致問題,有內(nèi)外兩大原因:

  • 內(nèi)部原因:Redis和MySQL的更新不是天然的原子操作,非事務(wù)性的組合拳。
  • 外部原因:實(shí)際中的讀寫請求是并發(fā)且無序的,可預(yù)測性很差,完全不可控。

2數(shù)據(jù)不一致的感知

我們來看個(gè)實(shí)際中的例子,進(jìn)一步了解緩存系統(tǒng)的數(shù)據(jù)不一致問題。

平時(shí)上下班擠地鐵的時(shí)候,我們經(jīng)常會聽網(wǎng)易云,比如我喜歡聽民謠,所有會關(guān)注官方發(fā)布的一些民謠歌曲榜單,如圖:

歌單是網(wǎng)易云的運(yùn)營同學(xué)配置的,作為用戶我們是無法修改的歌單的內(nèi)容的,所以這是個(gè)非常典型的讀多寫少的場景。

所以假如我是網(wǎng)易云的后端同學(xué),我肯定會把歌單的信息存儲在Redis中,緩存下來提高性能,大概可以是這個(gè)樣子:

假如因?yàn)榘鏅?quán)問題,運(yùn)營刪除了一首歌,此時(shí)更新了MySQL,但是Redis中的數(shù)據(jù)并沒有及時(shí)被更新,那么就會有一少部分用戶在歌單中看到本已被刪除的歌曲,點(diǎn)擊時(shí)可能無法播放等。

畫外音:這就是緩存和主存儲的數(shù)據(jù)不一致的現(xiàn)象,當(dāng)然具體網(wǎng)易云是咋實(shí)現(xiàn)的,咱也不清楚,上述的場景純屬作者腦補(bǔ)來說明不一致問題的直觀實(shí)例。

3理性看待不一致問題

數(shù)據(jù)一致性可以說是分布式系統(tǒng)中必然存在的問題,數(shù)據(jù)一致性可以分為:

  • 強(qiáng)一致性:時(shí)時(shí)刻刻保持一致。
  • 最終一致性:允許短暫的不一致,但是最后還是一致的。

要實(shí)現(xiàn)緩存和主存儲的強(qiáng)一致性,需要借助于復(fù)雜的分布式一致性協(xié)議等,倒不如不用緩存,畢竟緩存的優(yōu)勢還是讀多寫少的場景。

畫外音:緩存并不是什么萬金油,對于寫多讀少的場景,或許并不是適合用緩存。

工程和學(xué)術(shù)是有區(qū)別的,因此我們后續(xù)的問題都是圍繞最終一致性展開的,因?yàn)檫@才是有意義的問題。

進(jìn)而我們將問題轉(zhuǎn)化為:

研究重點(diǎn):在保證數(shù)據(jù)最終一致性的前提下,如何把數(shù)據(jù)不一致帶來的影響降低到業(yè)務(wù)可接受的范圍內(nèi)?

4更新還是刪除是個(gè)問題

當(dāng)MySQL被更新時(shí),我們?nèi)绾翁幚鞷edis呢?

  • 直接將key淘汰掉,是否再次被加載由后續(xù)讀請求決定。
  • 直接update發(fā)生變化的key,相當(dāng)于幫后面的請求做了加載的操作。

可以明確一點(diǎn)刪除操作直接操作就行(簡單明了),但是更新操作可能涉及的處理步驟更多,也就是update可能比delete更復(fù)雜。

另外,我們需要盡量保證Redis中的數(shù)據(jù)都是熱數(shù)據(jù),update每次都會使得數(shù)據(jù)駐留在Redis中,或許這是沒有必要的,因?yàn)檫@些可能是冷數(shù)據(jù),至于要加載哪些數(shù)據(jù),還是交給后面的請求比較合適,各司其職。

綜上,我們更傾向于將delete作為通用的選擇,因此后續(xù)都是基于淘汰緩存來展開的。

5如何解決不一致問題

Redis和MySQL的數(shù)據(jù)不一致產(chǎn)生的根源是業(yè)務(wù)需要進(jìn)行更新(寫入)操作。

先操作Redis 還是 先操作MySQL是個(gè)問題,操作時(shí)序不同產(chǎn)生的影響也不同。

尺有所短,寸有所長,說到底是一種權(quán)衡,哪一種組合產(chǎn)生的負(fù)面影響對業(yè)務(wù)最小,就傾向于哪種方案。

緩存系統(tǒng)的數(shù)據(jù)不一致問題,是個(gè)經(jīng)典的問題,因此肯定有很多解決問題的套路,所以讓我們帶著分析和思考去看看,各個(gè)方案的利弊。

思路一:設(shè)置緩存過期時(shí)間

當(dāng)向Redis寫入一條數(shù)據(jù)時(shí),同時(shí)設(shè)置過期時(shí)間x秒,業(yè)務(wù)不同過期時(shí)間不同。

過期時(shí)間到達(dá)時(shí)Redis就會刪掉這條數(shù)據(jù),后續(xù)讀請求Redis出現(xiàn)Cache Miss,進(jìn)而讀取MySQL,然后把數(shù)據(jù)寫到Redis。

如果發(fā)生更新操作時(shí),只操作MySQL,那么Redis中的數(shù)據(jù)更新就只是依賴于過期時(shí)間來保底,淘汰后再被加載就是新數(shù)據(jù)了。

畫外音:這種方案是最簡單的,如果業(yè)務(wù)對短時(shí)間不一致問題并不在意,設(shè)置過期時(shí)間的方案就足夠了,沒有必要搞太復(fù)雜。

思路二:先淘汰緩存&再更新主存

進(jìn)行更新操作時(shí),為了防止其他線程讀到緩存中的舊數(shù)據(jù),干脆淘汰掉,然后把數(shù)據(jù)更新到主存儲,后續(xù)的請求再次讀取時(shí)觸發(fā)Cache Miss,從而讀取MySQL再將新數(shù)據(jù)更新到Redis。

  • 在T1時(shí)刻:Redis和MySQL對于age的值都是18,二者一致;
  • 在T2時(shí)刻:有更新請求需要設(shè)置age=20,此時(shí)Redis中就沒有age這個(gè)數(shù)據(jù)了;在完成Redis淘汰后,進(jìn)行MySQL數(shù)據(jù)更新age=20;

這個(gè)方案聽著還不錯的樣子,但是讀寫請求都是并發(fā)的,先后順序完全無法預(yù)測,甚至后發(fā)出的請求先處理完成,也是很常見的。

可見一個(gè)明顯的漏洞:在淘汰Redis的數(shù)據(jù)完成后,更新MySQL完成之前,這個(gè)時(shí)間段內(nèi)如果有新的讀請求過來,發(fā)現(xiàn)Cache Miss了,就會把舊數(shù)據(jù)重新寫到Redis中,再次造成不一致,并且毫無察覺后續(xù)讀的都是舊數(shù)據(jù)。

畫外音:這個(gè)方案其實(shí)不能說完全沒有用,但是至少不完美吧。

思路三:先更新主存&再淘汰緩存

進(jìn)行更新操作時(shí),先更新MySQL,成功之后,淘汰緩存,后續(xù)讀取請求時(shí)觸發(fā)Cache Miss再將新數(shù)據(jù)回寫Redis。

這種模式在更新MySQL和淘汰Redis這段時(shí)間內(nèi),請求讀取的還是Redis的舊數(shù)據(jù),不過等MySQL更新完成,就可以立刻恢復(fù)一致,影響相對比較小。

上述是在緩存中有數(shù)據(jù)的情況,也就是T2時(shí)刻的讀請求沒有觸發(fā)Cache Miss,也就不會更新緩存,因此問題不大。

但是,假如T2時(shí)刻讀取的數(shù)據(jù)在緩存沒有,那么觸發(fā)Cache Miss后會產(chǎn)生回寫,假如這個(gè)回寫動作是在T4時(shí)刻完成,那么寫入的還是老數(shù)據(jù),如圖:

這種情況確實(shí)有問題,但是真是太巧了吧,分析一下:

  • 事件A:淘汰Redis前來了一個(gè)讀請求;
  • 事件B:T2時(shí)刻的讀請求觸發(fā)了Cache Miss;
  • 事件C:回寫Redis發(fā)生在淘汰緩存之后;

那么發(fā)生問題的概率就是P(A)*P(B)*P(C),從實(shí)際考慮這種綜合事件發(fā)生的概率非常低,因?yàn)閷懖僮鬟h(yuǎn)慢于讀操作,也就是圖上的T4事件大概率是發(fā)生在T3事件之前的。

畫外音:先更新MySQL再淘汰Redis的方案,雖然存在小概率不一致問題,但是總體來說工程上是可用的,比如非要說寫完MySQL掛了,Redis就沒淘汰,這種情況只能說確實(shí)有問題。

思路四:延時(shí)雙刪(淘汰)

前面提到的思路二和思路三都只有一次Redis淘汰操作,這里要說的延時(shí)雙刪本質(zhì)上是思路二和思路三的結(jié)合:

說實(shí)話個(gè)人覺得,這個(gè)方案有點(diǎn)堆操作的感覺,而且設(shè)置延時(shí)的目的是為了避免思路三的小概率問題,延時(shí)設(shè)置多久不好確定,二來延時(shí)降低了并發(fā)性能,同時(shí)前置的刪除緩存操作起到的作用并不大。

這個(gè)方案倒是透露出一種思想:多刪幾次,可能一致性更有保證,那確實(shí)如此,但是命中率也就低了,命中率和一致性看來也是一對矛盾。

畫外音:這個(gè)方案也不是說不行,其實(shí)有點(diǎn)麻煩,并且在復(fù)雜高并發(fā)場景中反而影響性能,要是一般的場景或許也能用起來。

思路五:異步更新緩存

既然直接操作MySQL和Redis都多少存在一些問題,那么能不能引入中間層來解決問題呢?

把MySQL的更新操作完成后不直接操作Redis,而是把這個(gè)操作命令(消息)扔到一個(gè)中間層,然后由Redis自己來消費(fèi)更新數(shù)據(jù),這是一種解耦的異步方案。

單純?yōu)榱烁戮彺嬉胫虚g件確實(shí)有些復(fù)雜,但是像MySQL提供了binlog的同步機(jī)制,此時(shí)Redis就作為Slave進(jìn)行主從同步,實(shí)現(xiàn)數(shù)據(jù)的更新,成本也還可以接受。

畫外音:引入中間層思想真是萬金油啊!

6 總結(jié)一下

本文主要介紹了以下幾個(gè)關(guān)鍵內(nèi)容:

  • 緩存系統(tǒng)適用的場景:讀多寫少。
  • 緩存系統(tǒng)的讀寫基本交互過程,讀很簡單,寫有點(diǎn)復(fù)雜。
  • 緩存系統(tǒng)寫時(shí)的不一致問題有內(nèi)外兩個(gè)因素:外部讀寫的并發(fā)無序性和內(nèi)部操作非原子性。
  • 使用緩存系統(tǒng),我們就需要接受最終一致性的前提,否則不建議用緩存。
  • 解決緩存數(shù)據(jù)不一致的思路有很多,或多或少都有不足,具體用哪種,需要根據(jù)實(shí)際業(yè)務(wù)場景,沒有哪種方案是普遍適用的。

 

責(zé)任編輯:武曉燕 來源: 后端技術(shù)指南針
相關(guān)推薦

2024-05-11 07:37:43

數(shù)據(jù)Redis策略

2011-02-22 14:02:48

vsftpd

2018-07-15 08:18:44

緩存數(shù)據(jù)庫數(shù)據(jù)

2024-11-18 08:00:00

數(shù)據(jù)倉庫通用語義層商業(yè)智能

2021-01-19 10:39:03

Redis緩存數(shù)據(jù)

2022-03-18 10:53:49

數(shù)據(jù)系統(tǒng)架構(gòu)

2017-06-20 09:42:52

網(wǎng)絡(luò)安全法數(shù)據(jù)隱私法網(wǎng)絡(luò)安全

2025-10-10 02:11:00

2017-08-25 17:59:41

浮點(diǎn)運(yùn)算C語言

2013-03-29 11:16:17

2013-12-13 14:46:55

OSPFMTU鄰接關(guān)系

2025-04-08 09:00:00

數(shù)據(jù)庫緩存架構(gòu)

2021-12-26 14:32:11

緩存數(shù)據(jù)庫數(shù)據(jù)

2024-04-07 09:00:00

MySQL

2025-04-03 09:51:37

2024-10-10 09:30:45

2022-12-13 08:15:42

緩存數(shù)據(jù)競爭

2022-09-06 15:30:20

緩存一致性

2020-07-20 14:06:38

數(shù)據(jù)庫主從同步服務(wù)

2018-07-08 07:38:28

數(shù)據(jù)庫緩存數(shù)據(jù)
點(diǎn)贊
收藏

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

日本成人免费在线观看| 免费在线观看亚洲视频| 国产aⅴ一区二区三区| 欧美私人啪啪vps| 日韩成人性视频| 国产精品天天av精麻传媒| 888av在线| 成人免费视频视频在线观看免费| 欧美中文在线视频| 性生交大片免费全黄| 懂色av一区二区| 在线观看一区不卡| 日韩精品免费一区| 蜜桃免费在线| 国产不卡高清在线观看视频| 国产成人免费av电影| 免费又黄又爽又色的视频| 日韩有码一区| 日韩亚洲欧美高清| 日韩精品一区二区三区不卡| 最新日本在线观看| 国产色婷婷亚洲99精品小说| 粉嫩av一区二区三区免费观看| 亚洲另类在线观看| 欧美日韩网站| 中文字幕在线观看亚洲| v天堂中文在线| 国产亚洲精aa在线看| 欧美日韩一区二区精品| 国产小视频免费| 亚洲xxxxxx| 久久婷婷成人综合色| www.久久久| 在线播放精品视频| 免费一级欧美片在线播放| 欧美成人精品在线视频| 亚洲精品国产精品国自| 欧美美女黄色| 亚洲精品一区二区三区99| 日本美女视频一区| 成人国产一区二区三区精品麻豆| 亚洲1区2区3区4区| 激情视频小说图片| 老司机午夜在线| 日本一区二区在线不卡| 日本精品一区二区三区不卡无字幕| 性少妇videosexfreexxx片| 免费在线看成人av| 国产精品69av| 五月婷婷六月婷婷| 久久久久久久欧美精品| 欧美一区在线直播| 欧美bbbbbbbbbbbb精品| 亚洲第一精品影视| 久久青草福利网站| 99免费在线观看| 黄页网站一区| 久久精品精品电影网| 中文字幕在线观看二区| 日韩成人影院| 久久久成人av| 欧洲猛交xxxx乱大交3| **女人18毛片一区二区| 久久精品美女视频网站 | 黄页免费欧美| 欧美三片在线视频观看| 日韩一级理论片| jizz亚洲女人高潮大叫| 欧美日韩另类一区| 久久久久久久久久一区| 国产精品一区二区三区四区在线观看| 欧美精品粉嫩高潮一区二区| 中日韩av在线播放| 伊人久久大香伊蕉在人线观看热v 伊人久久大香线蕉综合影院首页 伊人久久大香 | 不卡的一区二区| 日韩视频1区| 亚洲第五色综合网| 精品无码人妻一区| 凹凸成人精品亚洲精品密奴| www日韩中文字幕在线看| 91嫩草丨国产丨精品| 韩日成人在线| 欧美在线视频观看| 中文字幕二区三区| 国产乱码精品一区二区三区五月婷| 99高清视频有精品视频| 香蕉av在线播放| 欧美极品美女视频| 在线观看18视频网站| 丁香花高清在线观看完整版| 日韩欧美视频一区二区三区| 最近中文字幕一区二区| 日韩一区二区三区高清在线观看| 亚洲国产欧美一区二区三区同亚洲 | 伊人网在线播放| 欧美亚洲图片小说| 制服下的诱惑暮生| 亚洲精品中文字幕99999| 色阁综合伊人av| 激情五月色婷婷| 免费成人在线网站| 国产精品日韩一区二区| 国产鲁鲁视频在线观看免费| 亚洲日本乱码在线观看| 精品国产免费av| 亚洲伊人精品酒店| 亚洲男女性事视频| 欧美爱爱免费视频| 久久亚洲色图| 超碰97在线资源| av在线播放网站| 亚洲第一福利视频在线| 中文av一区二区三区| 神马日本精品| 欧美成人免费视频| 少妇又紧又色又爽又刺激视频| 国产电影一区在线| 亚洲精品9999| 欲香欲色天天天综合和网| 正在播放亚洲一区| 少妇一级黄色片| 日韩视频在线一区二区三区| 91性高湖久久久久久久久_久久99| 五月天婷婷在线播放| 亚洲柠檬福利资源导航| 男人天堂成人在线| 国偷自产视频一区二区久| 日日骚av一区| 日韩一级片中文字幕| 成人永久免费视频| 18视频在线观看娇喘| av亚洲一区二区三区| 亚洲黄色免费三级| 九九视频免费在线观看| 精久久久久久久久久久| 无码免费一区二区三区免费播放 | 人妖粗暴刺激videos呻吟| 911精品美国片911久久久| 国产精品极品尤物在线观看 | 98视频精品全部国产| 久久久999精品免费| 中文永久免费观看| 久久久久久久久久电影| 国产精品丝袜久久久久久消防器材| 99久久免费精品国产72精品九九| 不卡中文字幕av| 国产又粗又猛又黄又爽无遮挡| 国产精品视频在线看| 91最新在线观看| 国产精品一在线观看| 日韩av不卡电影| 黄色片免费在线| 色婷婷久久久久swag精品| 中文字幕日韩三级片| 国产日韩欧美一区在线| 久久这里精品国产99丫e6| 国产网站在线| 亚洲男人av在线| 五月天激情国产综合婷婷婷| 久久久久久久综合狠狠综合| 50路60路老熟妇啪啪| 奇米狠狠一区二区三区| 国产精品国产自产拍高清av水多| 国产福利电影在线| 欧美久久一区二区| 欧美三级 欧美一级| 国产 欧美在线| 国产精品一区二区免费在线观看| 美女主播精品视频一二三四| 欧美综合激情网| 高清在线观看av| 欧美高清性hdvideosex| 欧美激情国产精品免费| 高清国产午夜精品久久久久久| 国产黄页在线观看| 国产一区二区电影在线观看| 国产日本欧美一区二区三区| av在线影院| 日韩电影第一页| 中文字幕在线2018| 一区二区三区日韩欧美| 污污污www精品国产网站| 久久精品人人| 中文字幕制服丝袜在线| 99久热这里只有精品视频免费观看| 韩国日本不卡在线| www.亚洲.com| 欧美成人猛片aaaaaaa| 可以免费在线观看的av| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 丝袜久久网站| 国产日韩欧美夫妻视频在线观看 | 国产欧美久久久久久| 最爽无遮挡行房视频在线| 日韩电影在线观看永久视频免费网站| japanese国产在线观看| 亚洲人成网站精品片在线观看| 少妇精品无码一区二区三区| 日韩电影在线免费观看| 男人添女荫道口女人有什么感觉| 最新亚洲精品| 亚洲在线视频福利| 国产精品亚洲一区二区三区在线观看 | 91久久爱成人| 亚洲第一会所001| 欧美黑人巨大xxx极品| 番号在线播放| 亚洲国产精品专区久久| 国产免费一区二区三区最新不卡 | 久久久久国产精品熟女影院| 欧美精品一线| 亚洲国产一区二区精品视频| 成午夜精品一区二区三区软件| 国产精品丝袜视频| 123区在线| 美女av一区二区| 成人午夜影视| 亚洲欧美激情精品一区二区| 国产高清视频免费| 7777女厕盗摄久久久| 精品一区二区无码| 午夜影视日本亚洲欧洲精品| 人妻人人澡人人添人人爽| 久久精品人人爽人人爽| 亚洲の无码国产の无码步美| 国模一区二区三区白浆| 国产一级做a爰片久久| 亚洲综合日韩| 国产午夜福利在线播放| 极品中文字幕一区| 最近免费观看高清韩国日本大全| 不卡在线一区| 日韩理论片在线观看| 日韩av影院| 国产在线一区二| 一区中文字幕| 亚洲最大福利视频网站| 在线不卡一区| 国产在线日韩在线| 欧美视频精品| 国产日韩综合一区二区性色av| 写真福利精品福利在线观看| 69久久夜色精品国产7777| 678在线观看视频| 久久久久久久久电影| 国产网红在线观看| 欧美国产第二页| 免费在线看电影| 欧美精品九九久久| eeuss鲁一区二区三区| 欧美激情一级欧美精品| 激情av在线播放| 欧美激情性做爰免费视频| 欧美人与禽性xxxxx杂性| 欧美韩国理论所午夜片917电影| 色女人在线视频| 欧美精品久久久久久久免费观看| 国产探花在线观看| 97久久久免费福利网址| 秋霞伦理一区| 日本伊人精品一区二区三区介绍| 欧美xoxoxo| 国产精品69av| 成人综合日日夜夜| 亚洲永久在线观看| 国产精品欧美大片| 免费一区二区三区| 精品免费视频| 在线看无码的免费网站| 欧美一区亚洲| 久久久久久久久久网| 久久高清一区| 色播五月激情五月| 国产成人精品网址| 手机免费看av片| 久久精品视频一区二区三区| 国产精品美女高潮无套| 1区2区3区国产精品| 久久久久久久9999| 色婷婷综合久久久| 国产欧美日韩成人| 日韩精品小视频| 尤物网在线观看| 欧美黄色片在线观看| 毛片免费看不卡网站| 成人女保姆的销魂服务| 麻豆国产欧美一区二区三区r| 欧美最大成人综合网| 综合在线一区| 中国丰满人妻videoshd| 国产一区在线视频| free性中国hd国语露脸| 中文字幕制服丝袜成人av| 日本三级午夜理伦三级三| 欧美丝袜第三区| 日本黄色不卡视频| 色偷偷av亚洲男人的天堂| free性护士videos欧美| 国产精品久久久久久久久久免费| 伊人久久大香线蕉av超碰| 欧美亚洲另类久久综合| 欧美激情自拍| 五月婷婷激情久久| 成人av综合一区| 久久国产高清视频| 色先锋资源久久综合| 亚洲精品综合网| 久久精品亚洲94久久精品| 中文av在线全新| 97se视频在线观看| 日本a口亚洲| 超碰97人人射妻| 北岛玲一区二区三区四区| 精品国产国产综合精品| 在线观看亚洲一区| 五月婷婷开心中文字幕| 久久精品91久久香蕉加勒比| 黄频免费在线观看| 91久久中文字幕| 一区三区在线欧| 欧美日韩成人免费视频| 国产一区在线观看麻豆| 一二三四在线观看视频| 欧美日韩性生活视频| 国产黄色高清视频| 精品精品国产国产自在线| 粉嫩一区二区| 精品无码久久久久久久动漫| 午夜精品毛片| 波多野结衣天堂| 久久久噜噜噜久噜久久综合| 久久无码精品丰满人妻| 欧美一区二区三区在线视频| 成年人在线观看视频| 91精品国产高清久久久久久| 久久porn| www国产无套内射com| 国产裸体歌舞团一区二区| 国产91丝袜美女在线播放| 亚洲欧美中日韩| 国产精品高潮呻吟久久久| 伊人久久五月天| 日韩三区在线| 美日韩免费视频| 亚洲激精日韩激精欧美精品| 一女二男3p波多野结衣| 国产欧美一区视频| 中文字幕无线码一区| 亚洲视频axxx| 欧美97人人模人人爽人人喊视频| 先锋影音欧美| 日本网站在线观看一区二区三区| 亚洲午夜精品久久久久久高潮 | 日韩精品一区不卡| 亚洲精品乱码久久久久久金桔影视| av免费网站在线| 99r国产精品视频| 国模吧视频一区| 天天躁日日躁狠狠躁av麻豆男男| 亚洲人精品一区| 亚洲无码久久久久| 欧美成人中文字幕在线| 国产免费av国片精品草莓男男| 影音欧美亚洲| 国产综合久久久久久久久久久久| 欧美美女性生活视频| 日本韩国视频一区二区| 国产在线91| 国产日韩欧美电影在线观看| 亚洲国产不卡| 日本少妇xxxx软件| 亚洲国产日日夜夜| 日本一区二区三区在线观看视频| 琪琪第一精品导航| 久久成人综合| www.久久com| 午夜伦欧美伦电影理论片| 日韩大胆视频| 日韩免费不卡av| 日韩一区二区三区免费播放| 国产理论在线播放| 亚洲女女做受ⅹxx高潮| 欧美一区二不卡视频| 国产成一区二区| 忘忧草精品久久久久久久高清| 久久久男人的天堂| 色婷婷久久一区二区三区麻豆| 国产一区精品| 亚洲a中文字幕| 夜夜嗨一区二区| 久草福利资源在线| 精品99一区二区| 国产69精品久久久久9999人| 99热这里只有精品免费| 国产亚洲欧美日韩在线一区| 国产精品系列视频| 欧洲成人性视频| 一个色综合网| 成熟人妻av无码专区| 日韩欧美亚洲另类制服综合在线|