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

大家所推崇的Redis分布式鎖真的就萬無一失嗎?

存儲(chǔ) 存儲(chǔ)軟件 分布式 Redis
在單實(shí)例JVM中,常見的處理并發(fā)問題的方法有很多,比如synchronized關(guān)鍵字進(jìn)行訪問控制、volatile關(guān)鍵字、ReentrantLock等常用方法。但是在分布式環(huán)境中,上述方法卻不能在跨JVM場(chǎng)景中用于處理并發(fā)問題,當(dāng)業(yè)務(wù)場(chǎng)景需要對(duì)分布式環(huán)境中的并發(fā)問題進(jìn)行處理時(shí),需要使用分布式鎖來實(shí)現(xiàn)。

 在單實(shí)例JVM中,常見的處理并發(fā)問題的方法有很多,比如synchronized關(guān)鍵字進(jìn)行訪問控制、volatile關(guān)鍵字、ReentrantLock等常用方法。但是在分布式環(huán)境中,上述方法卻不能在跨JVM場(chǎng)景中用于處理并發(fā)問題,當(dāng)業(yè)務(wù)場(chǎng)景需要對(duì)分布式環(huán)境中的并發(fā)問題進(jìn)行處理時(shí),需要使用分布式鎖來實(shí)現(xiàn)。

[[268881]]

分布式鎖,是指在分布式的部署環(huán)境下,通過鎖機(jī)制來讓多客戶端互斥的對(duì)共享資源進(jìn)行訪問。

目前比較常見的分布式鎖實(shí)現(xiàn)方案有以下幾種:

  • 基于數(shù)據(jù)庫,如MySQL
  • 基于緩存,如Redis
  • 基于Zookeeper、etcd等。

這里介紹一下如何使用緩存(Redis)實(shí)現(xiàn)分布式鎖。

使用Redis實(shí)現(xiàn)分布式鎖最簡(jiǎn)單的方案是使用命令SETNX。SETNX(SET if Not eXist)的使用方式為:SETNX key value,只在鍵key不存在的情況下,將鍵key的值設(shè)置為value,若鍵key存在,則SETNX不做任何動(dòng)作。SETNX在設(shè)置成功時(shí)返回,設(shè)置失敗時(shí)返回0。當(dāng)要獲取鎖時(shí),直接使用SETNX獲取鎖,當(dāng)要釋放鎖時(shí),使用DEL命令刪除掉對(duì)應(yīng)的鍵key即可。

上面這種方案有一個(gè)致命問題,就是某個(gè)線程在獲取鎖之后由于某些異常因素(比如宕機(jī))而不能正常的執(zhí)行解鎖操作,那么這個(gè)鎖就永遠(yuǎn)釋放不掉了。為此,我們可以為這個(gè)鎖加上一個(gè)超時(shí)時(shí)間。***時(shí)間我們會(huì)聯(lián)想到Redis的EXPIRE命令(EXPIRE key seconds)。但是這里我們不能使用EXPIRE來實(shí)現(xiàn)分布式鎖,因?yàn)樗cSETNX一起是兩個(gè)操作,在這兩個(gè)操作之間可能會(huì)發(fā)生異常,從而還是達(dá)不到預(yù)期的結(jié)果,示例如下:

  1. // STEP 1 
  2. SETNX key value 
  3. // 若在這里(STEP1和STEP2之間)程序突然崩潰,則無法設(shè)置過期時(shí)間,將有可能無法釋放鎖 
  4. // STEP 2 
  5. EXPIRE key expireTime 

對(duì)此,正確的姿勢(shì)應(yīng)該是使用“SET key value [EX seconds] [PX milliseconds] [NX|XX]”這個(gè)命令。

從 Redis 2.6.12 版本開始, SET 命令的行為可以通過一系列參數(shù)來修改:

  • EX seconds : 將鍵的過期時(shí)間設(shè)置為 seconds 秒。 執(zhí)行 SET key value EX seconds 的效果等同于執(zhí)行 SETEX key seconds value 。
  • PX milliseconds : 將鍵的過期時(shí)間設(shè)置為 milliseconds 毫秒。 執(zhí)行 SET key value PX milliseconds 的效果等同于執(zhí)行 PSETEX key milliseconds value 。
  • NX : 只在鍵不存在時(shí), 才對(duì)鍵進(jìn)行設(shè)置操作。 執(zhí)行 SET key value NX 的效果等同于執(zhí)行 SETNX key value 。
  • XX : 只在鍵已經(jīng)存在時(shí), 才對(duì)鍵進(jìn)行設(shè)置操作。

舉例,我們需要?jiǎng)?chuàng)建一個(gè)分布式鎖,并且設(shè)置過期時(shí)間為10s,那么可以執(zhí)行以下命令:

  1. SET lockKey lockValue EX 10 NX 
  2. 或者 
  3. SET lockKey lockValue PX 10000 NX 

注意EX和PX不能同時(shí)使用,否則會(huì)報(bào)錯(cuò):ERR syntax error。

解鎖的時(shí)候還是使用DEL命令來解鎖。

修改之后的方案看上去很***,但實(shí)際上還是會(huì)有問題。試想一下,某線程A獲取了鎖并且設(shè)置了過期時(shí)間為10s,然后在執(zhí)行業(yè)務(wù)邏輯的時(shí)候耗費(fèi)了15s,此時(shí)線程A獲取的鎖早已被Redis的過期機(jī)制自動(dòng)釋放了。在線程A獲取鎖并經(jīng)過10s之后,改鎖可能已經(jīng)被其它線程獲取到了。當(dāng)線程A執(zhí)行完業(yè)務(wù)邏輯準(zhǔn)備解鎖(DEL key)的時(shí)候,有可能刪除掉的是其它線程已經(jīng)獲取到的鎖。

所以***的方式是在解鎖時(shí)判斷鎖是否是自己的。我們可以在設(shè)置key的時(shí)候?qū)alue設(shè)置為一個(gè)唯一值uniqueValue(可以是隨機(jī)值、UUID、或者機(jī)器號(hào)+線程號(hào)的組合、簽名等)。當(dāng)解鎖時(shí),也就是刪除key的時(shí)候先判斷一下key對(duì)應(yīng)的value是否等于先前設(shè)置的值,如果相等才能刪除key,偽代碼示例如下:

  1. if uniqueKey == GET(key) { 
  2.     DEL key 

這里我們一眼就可以看出問題來:GET和DEL是兩個(gè)分開的操作,在GET執(zhí)行之后且在DEL執(zhí)行之前的間隙是可能會(huì)發(fā)生異常的。如果我們只要保證解鎖的代碼是原子性的就能解決問題了。這里我們引入了一種新的方式,就是Lua腳本,示例如下:

  1. if redis.call("get",KEYS[1]) == ARGV[1] then 
  2.  return redis.call("del",KEYS[1]) 
  3. else 
  4.  return 0 
  5. end 

其中ARGV[1]表示設(shè)置key時(shí)指定的唯一值。

由于Lua腳本的原子性,在Redis執(zhí)行該腳本的過程中,其他客戶端的命令都需要等待該Lua腳本執(zhí)行完才能執(zhí)行。

下面我們使用Jedis來演示一下獲取鎖和解鎖的實(shí)現(xiàn),具體如下:

  1. public boolean lock(String lockKey, String uniqueValue, int seconds){ 
  2.  SetParams params = new SetParams(); 
  3.  params.nx().ex(seconds); 
  4.  String result = jedis.set(lockKey, uniqueValue, params); 
  5.  if ("OK".equals(result)) { 
  6.  return true
  7.  } 
  8.  return false
  9. public boolean unlock(String lockKey, String uniqueValue){ 
  10.  String script = "if redis.call('get', KEYS[1]) == ARGV[1] " + 
  11.  "then return redis.call('del', KEYS[1]) else return 0 end"
  12.  Object result = jedis.eval(script,  
  13.  Collections.singletonList(lockKey),  
  14.  Collections.singletonList(uniqueValue)); 
  15.  if (result.equals(1)) { 
  16.  return true
  17.  } 
  18.  return false

如此就萬無一失了嗎?顯然不是!

表面來看,這個(gè)方法似乎很管用,但是這里存在一個(gè)問題:在我們的系統(tǒng)架構(gòu)里存在一個(gè)單點(diǎn)故障,如果Redis的master節(jié)點(diǎn)宕機(jī)了怎么辦呢?有人可能會(huì)說:加一個(gè)slave節(jié)點(diǎn)!在master宕機(jī)時(shí)用slave就行了!

但是其實(shí)這個(gè)方案明顯是不可行的,因?yàn)镽edis的復(fù)制是異步的。舉例來說:

  1. 線程A在master節(jié)點(diǎn)拿到了鎖。
  2. master節(jié)點(diǎn)在把A創(chuàng)建的key寫入slave之前宕機(jī)了。
  3. slave變成了master節(jié)點(diǎn)。
  4. 線程B也得到了和A還持有的相同的鎖。(因?yàn)樵瓉淼膕lave里面還沒有A持有鎖的信息)

當(dāng)然,在某些場(chǎng)景下這個(gè)方案沒有什么問題,比如業(yè)務(wù)模型允許同時(shí)持有鎖的情況,那么使用這種方案也未嘗不可。

舉例說明,某個(gè)服務(wù)有2個(gè)服務(wù)實(shí)例:A和B,初始情況下A獲取了鎖然后對(duì)資源進(jìn)行操作(可以假設(shè)這個(gè)操作很耗費(fèi)資源),B沒有獲取到鎖而不執(zhí)行任何操作,此時(shí)B可以看做是A的熱備。當(dāng)A出現(xiàn)異常時(shí),B可以“轉(zhuǎn)正”。當(dāng)鎖出現(xiàn)異常時(shí),比如Redis master宕機(jī),那么B可能會(huì)同時(shí)持有鎖并且對(duì)資源進(jìn)行操作,如果操作的結(jié)果是冪等的(或者其它情況),那么也可以使用這種方案。這里引入分布式鎖可以讓服務(wù)在正常情況下避免重復(fù)計(jì)算而造成資源的浪費(fèi)。

為了應(yīng)對(duì)這種情況,antriez提出了Redlock算法。Redlock算法的主要思想是:假設(shè)我們有N個(gè)Redis master節(jié)點(diǎn),這些節(jié)點(diǎn)都是完全獨(dú)立的,我們可以運(yùn)用前面的方案來對(duì)前面單個(gè)的Redis master節(jié)點(diǎn)來獲取鎖和解鎖,如果我們總體上能在合理的范圍內(nèi)或者N/2+1個(gè)鎖,那么我們就可以認(rèn)為成功獲得了鎖,反之則沒有獲取鎖(可類比Quorum模型)。雖然Redlock的原理很好理解,但是其內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)很是復(fù)雜,要考慮很多因素

Redlock算法也并非是“銀彈”,他除了條件有點(diǎn)苛刻外,其算法本身也被質(zhì)疑。關(guān)于Redis分布式鎖的安全性問題,在分布式系統(tǒng)專家Martin Kleppmann和Redis的作者antirez之間就發(fā)生過一場(chǎng)爭(zhēng)論。

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2021-01-11 18:36:06

Redis分布式鎖數(shù)據(jù)庫

2013-02-01 10:48:52

2013-01-06 10:57:03

2017-10-26 14:15:32

測(cè)試工具設(shè)計(jì)開發(fā)

2013-08-12 10:37:14

云服務(wù)云計(jì)算

2011-07-19 21:20:01

2021-06-22 06:13:05

私有云混合多云網(wǎng)絡(luò)架構(gòu)

2020-10-11 20:41:14

消息隊(duì)列數(shù)據(jù)技術(shù)

2016-11-28 15:54:17

聯(lián)想網(wǎng)盤

2020-02-07 10:14:07

程序員設(shè)計(jì)人生第一份工作

2022-02-07 19:28:02

LoRa廣域網(wǎng)5G

2019-06-19 15:40:06

分布式鎖RedisJava

2025-06-18 16:40:06

網(wǎng)絡(luò)安全數(shù)據(jù)安全備份

2021-07-26 11:09:46

Redis分布式技術(shù)

2021-08-31 15:57:32

勒索軟件零信任網(wǎng)絡(luò)罪犯

2020-07-30 09:35:09

Redis分布式鎖數(shù)據(jù)庫

2022-06-16 08:01:24

redis分布式鎖

2023-08-21 19:10:34

Redis分布式

2022-01-06 10:58:07

Redis數(shù)據(jù)分布式鎖

2019-02-26 09:51:52

分布式鎖RedisZookeeper
點(diǎn)贊
收藏

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

国产免费黄色大片| 性欧美18—19sex性高清| av在线三区| 四虎影视国产精品| 亚洲人精品一区| 国产欧美综合精品一区二区| 日韩欧美成人一区二区三区| 99久久99久久精品国产片果冰| 日韩精品一区在线| 国产精品免费入口| 九色porny在线| 日本一不卡视频| 久久影视电视剧免费网站| 伊人久久一区二区三区| 成人涩涩视频| 亚洲国产日韩一级| 亚洲欧美日韩在线综合| 欧美一级特黄aaaaaa| 久久99精品国产麻豆婷婷 | 天天躁日日躁狠狠躁免费麻豆| 日本欧美日韩| 午夜电影网一区| 免费观看国产视频在线| 国产鲁鲁视频在线观看免费| 一本色道久久综合亚洲精品不卡| 中文字幕久热精品视频在线| 玖草视频在线观看| 6080亚洲理论片在线观看| 欧美色窝79yyyycom| 欧美日本视频在线观看| 日本高清视频免费观看| 九九**精品视频免费播放| 欧美在线xxx| 日本少妇在线观看| 亚洲国产日韩欧美在线| 在线视频欧美日韩精品| 亚洲第一香蕉网| 久久资源综合| 亚洲成色777777女色窝| 又粗又黑又大的吊av| 91一区二区三区在线| 国产精品国产三级国产三级人妇| 青青成人在线| 外国精品视频在线观看| 老鸭窝毛片一区二区三区| 九九精品在线观看| 顶臀精品视频www| 四虎成人精品永久免费av九九| 欧美视频中文一区二区三区在线观看| 国产视频九色蝌蚪| sm捆绑调教国产免费网站在线观看| 亚洲精品国产一区二区精华液 | 中日韩精品一区二区三区| aiss精品大尺度系列| 日韩亚洲欧美一区| 欧美爱爱视频免费看| sm在线观看| 亚洲成人动漫在线观看| 午夜免费福利小电影| 精品丝袜在线| 色网综合在线观看| 免费大片在线观看| 成人精品国产亚洲| 欧美日韩国产经典色站一区二区三区 | jizz18女人高潮| 色爱综合网欧美| 久久婷婷国产麻豆91天堂| 一区二区成人免费视频| 欧美日韩综合| 亚洲最大中文字幕| 精品在线观看一区| 91精品国产91久久久久久黑人| 欧美成人精品在线| 日本特黄一级片| 久久精品欧洲| 国产欧美精品日韩精品| 日韩精品成人一区| 国产精品亚洲综合久久| 国产成人精品在线观看| 国产精品高潮呻吟av| 国产91综合网| 免费在线一区二区| 日本在线免费| 亚洲福利一区二区| 少妇高清精品毛片在线视频| 欧洲精品久久久久毛片完整版| 欧美一区二区不卡视频| 亚洲最大综合网| 91小视频网站| 污视频网站在线播放| 99re在线精品| 亚洲第一综合| av资源一区| 在线日韩av片| 一二三区视频在线观看| 天海翼亚洲一区二区三区| 丝袜一区二区三区| 日本视频www| 九九久久精品视频| 九九九热999| 黄色小网站在线观看| 天天亚洲美女在线视频| 亚洲第一天堂久久| 五月天亚洲一区| 久久久精品一区二区| 国产jk精品白丝av在线观看| 高潮久久久久久久久久久久久久| 亚洲人免费视频| 欧美丰满艳妇bbwbbw| 一区二区三区在线| 人妖精品videosex性欧美| 国产人妖一区二区| 久久久久亚洲蜜桃| 国产视频在线观看网站| 8av国产精品爽爽ⅴa在线观看| 日韩精品中文字幕在线一区| 三级黄色在线观看| 日本亚洲一区二区| 麻豆精品传媒视频| 6699嫩草久久久精品影院| 欧美福利电影网| 一区二区三区四区毛片| 亚洲精品亚洲人成在线| 久久久久国产视频| 国产精品久久婷婷| 国产精品视频你懂的| 亚洲不卡1区| 欧美24videosex性欧美| 亚洲午夜久久久久中文字幕久| 日本 片 成人 在线| 综合亚洲色图| 91高清视频免费观看| 无码人妻精品一区二| 日日夜夜免费精品| 久久久久久亚洲精品不卡4k岛国| 国精产品一区一区三区mba下载| 亚洲18女电影在线观看| 中文字幕第10页| 黄页网站大全在线免费观看| 亚洲另类春色校园小说| 色青青草原桃花久久综合| 无码人妻精品一区二| 久久久久国产精品麻豆 | 亚洲综合不卡| 精品国产免费久久久久久尖叫| 国产蜜臀一区二区打屁股调教| 日韩一级大片在线| 69av.com| 成人久久视频在线观看| 国产一二三在线视频| 成人自拍在线| 97香蕉超级碰碰久久免费软件| 天天干天天色天天| 五月婷婷激情综合网| 亚洲一区二区三区无码久久| 亚洲少妇自拍| 欧美一进一出视频| 精品三区视频| 日韩一区在线视频| 在线免费观看一级片| 成人免费视频在线观看| 亚洲综合在线一区二区| 国产精品v亚洲精品v日韩精品| 成人免费观看网站| a级片在线免费观看| 亚洲女成人图区| 国产乱码77777777| 最好看的中文字幕久久| 可以看的av网址| aa国产精品| 色一情一乱一伦一区二区三欧美| 四虎国产精品免费久久| 欧美激情a在线| 天堂网www中文在线| 欧美色区777第一页| 丝袜 亚洲 另类 欧美 重口| 成人午夜精品一区二区三区| 欧美亚洲国产成人| 成人一区不卡| julia一区二区中文久久94| 美女在线视频免费| 欧美日韩国产一级二级| 极品久久久久久| 99久久精品免费看| 91极品尤物在线播放国产| 欧美激情第二页| 欧美lavv| 天堂精品久久久久| 国产成人鲁鲁免费视频a| 成人看片免费| 亚洲美女性生活视频| 国产乱淫a∨片免费视频| 精品久久中文字幕久久av| 久久久国产一级片| 成人综合在线视频| 91国产精品视频在线观看| 国产精品99一区二区| 日本一区二区三区四区在线观看| 一区二区三区在线资源| 国产精品第二页| 福利网站在线观看| xvideos成人免费中文版| 色婷婷中文字幕| 7777精品伊人久久久大香线蕉经典版下载 | 日韩午夜三级在线| jizz国产在线观看| 亚洲国产婷婷综合在线精品| 黄大色黄女片18免费| 成人午夜精品在线| 手机在线国产视频| 久久精品人人| 久在线观看视频| 在线中文字幕亚洲| 少妇免费毛片久久久久久久久| 国产女人18毛片水真多18精品| 91精品视频免费观看| 日韩电影免费观| 韩日精品中文字幕| 午夜影院免费在线| 精品国产依人香蕉在线精品| 九一在线视频| 日韩精品小视频| 亚洲第一色网站| 日韩欧美国产三级电影视频| 亚洲影院一区二区三区| 色综合一区二区| 日本少妇全体裸体洗澡| 亚洲自拍另类综合| 婷婷久久综合网| 1区2区3区国产精品| 国产传媒视频在线| 国产三级一区二区三区| 我和岳m愉情xxxⅹ视频| 99久久精品一区二区| 黄色激情在线观看| 国产成人99久久亚洲综合精品| www.国产福利| 国产在线观看一区二区| 亚洲黄色片免费看| 精品午夜久久福利影院| 国产人妻互换一区二区| 成人三级视频| 亚洲图片欧洲图片日韩av| 亚洲三级网址| 欧洲精品久久| 欧美日韩中文一区二区| 视频一区亚洲| 日韩一级毛片| 女女同性女同一区二区三区按摩| 小处雏高清一区二区三区| 三年中文高清在线观看第6集| 亚洲一区二区三区免费| 91久久伊人青青碰碰婷婷| 中国字幕a在线看韩国电影| 51视频国产精品一区二区| 午夜欧美激情| 国产精品xxxxx| av免费在线一区| 国产在线观看精品一区二区三区| 亚洲老司机网| 成人自拍网站| 日韩精品社区| 神马欧美一区二区| 91精品蜜臀一区二区三区在线| 黄色网在线视频| 色777狠狠狠综合伊人| 综合视频在线观看| 欧美精品18| 精品视频免费在线播放| 巨乳诱惑日韩免费av| 网站一区二区三区| 国产在线观看一区二区| 国产性生活毛片| 国产区在线观看成人精品| 情侣偷拍对白清晰饥渴难耐| 亚洲一区成人在线| 久久精品视频1| 欧美日韩国产不卡| 性一交一乱一色一视频麻豆| 亚洲跨种族黑人xxx| 日本在线免费播放| 高清亚洲成在人网站天堂| 神马久久资源| 亚洲字幕在线观看| 先锋影音国产精品| 老司机av福利| 免费在线播放第一区高清av| 亚洲小视频网站| 奇米影视7777精品一区二区| www.国产福利| 久久久久久久久一| 国产精品国产精品88| 欧美视频裸体精品| 国产乱码久久久久| 精品视频久久久久久| 黄色成人影院| 日本aⅴ大伊香蕉精品视频| 成人亚洲精品| 日本精品一区二区三区不卡无字幕| 在线成人直播| 欧美激情精品久久久久久小说| 国产精品99久久久久| 成年人在线观看av| 亚洲欧美日韩在线不卡| 九九热国产视频| 91精品国产综合久久福利软件| 涩涩视频在线观看免费| 亚洲毛片在线看| 在线heyzo| 国产剧情久久久久久| 天美av一区二区三区久久| 中国 免费 av| 美女网站在线免费欧美精品| 色婷婷免费视频| 一区二区欧美精品| 91福利在线观看视频| 日韩经典第一页| 波多野结衣在线高清| 91美女片黄在线观| 成人羞羞在线观看网站| 日本黄网站免费| 99久久免费精品| 国产一级一级片| 好吊成人免视频| 亚洲黄色精品视频| 美女黄色丝袜一区| 伊人久久大香| 一区二区三区四区五区视频| 久久在线91| a视频免费观看| 无吗不卡中文字幕| 欧美在线 | 亚洲| 欧美黑人性视频| 视频一区中文字幕精品| ijzzijzzij亚洲大全| 精品亚洲国产成人av制服丝袜| 日本成人免费在线观看| 精品视频999| 亚洲成人三级| 国产日韩在线播放| 欧美黄色录像片| 亚洲精品手机在线观看| 国产精品三级av| 国产一区二区三区三州| 色偷偷噜噜噜亚洲男人| 四虎地址8848精品| 大地资源第二页在线观看高清版| 精品中文字幕一区二区 | 亚洲一区影音先锋| 精品人妻一区二区三区蜜桃| 欧美日韩成人网| 动漫视频在线一区| 黄色www网站| 国产亚洲午夜高清国产拍精品| 亚洲av无码不卡| 最近2019中文字幕一页二页| 91精品国产色综合久久不卡粉嫩| 亚洲国产精品女人| 国产成人av影院| 国产午夜视频在线播放| 亚洲精品日韩欧美| av在线一区不卡| 男女激烈动态图| 99在线热播精品免费| 成人免费毛片男人用品| 色哟哟入口国产精品| 久久国产精品免费一区二区三区| 精品伦理一区二区三区| 国产精品日本| 欧美一区二区三区粗大| 制服视频三区第一页精品| 免费男女羞羞的视频网站在线观看 | 久久精品国产综合| 麻豆国产一区| 欧美日韩亚洲一| 国产精品久线观看视频| 国产sm主人调教女m视频| 久久久噜噜噜久久久| 国产一区二区三区四区大秀| 免费av不卡在线| 午夜精品成人在线视频| www.中文字幕久久久| 亚洲专区国产精品| 香蕉视频成人在线观看| 成人三级视频在线观看| 精品对白一区国产伦| 粉嫩91精品久久久久久久99蜜桃| 大地资源网在线观看免费官网| 91欧美一区二区| 国产精品视频无码| 热久久美女精品天天吊色| 影音先锋日韩在线| 三级网站在线免费观看| 91精品国产欧美一区二区成人| 蜜桃视频在线网站| 佐佐木明希av| 国产女主播一区| 内射无码专区久久亚洲| 国产美女精品视频| 国产精品毛片一区二区三区|