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

臟讀、幻讀,要想搞懂不容易!

數據庫 MySQL
臟讀、幻讀、不可重復讀、當前讀、快照讀,這些名詞經常搞的讓人頭暈。因為一般人大腦的主線就是單線程的,并不能一次性處理多個事務。

[[394503]]

本文轉載自微信公眾號「小姐姐味道」,作者小姐姐養的狗02號。轉載本文請聯系小姐姐味道公眾號。   

臟讀、幻讀、不可重復讀、當前讀、快照讀,這些名詞經常搞的讓人頭暈。因為一般人大腦的主線就是單線程的,并不能一次性處理多個事務。

要想記憶深刻,我們得借助幾個實例。讀完本文,你一定會豁然開朗,忍不住三連走起。

但在這之前,我們需要看一下當前的數據庫隔離級別,到底是什么。比如MySQL。

  1. select @@tx_isolation; 

MySQL就包含4種隔離級別,隔離的當然是數據。要修改隔離級別的話,可以使用下面的SQL語句。

  1. set session transaction isolation level read uncommitted
  2. set session transaction isolation level read committed
  3. set session transaction isolation level repeatable read
  4. set session transaction isolation level serializable

ok,我們創建一張小小的測試表,來看一下并發環境下的魔幻效果。

  1. CREATE TABLE `xjjdog_tx` ( 
  2.  `id` INT(11) NOT NULL
  3.  `nameVARCHAR(50) NOT NULL COLLATE 'utf8_general_ci'
  4.  `money` BIGINT(20) NOT NULL DEFAULT '0'
  5.  PRIMARY KEY (`id`) USING BTREE 
  6. COLLATE='utf8_general_ci' 
  7. ENGINE=InnoDB 
  8. INSERT INTO `xjjdog_tx` (`id`, `name`, `money`) VALUES (2, 'xjjdog1', 100); 
  9. INSERT INTO `xjjdog_tx` (`id`, `name`, `money`) VALUES (1, 'xjjdog0', 100); 

1. 臟讀

臟讀,意思就是讀出了臟數據。啥叫臟數據?就是另外一個事務還沒有提交的數據。在read uncommitted隔離級別下,就會出現臟讀。比如下面這個時序

  1. 事務 A:set session transaction isolation level read uncommitted
  2. 事務 B:set session transaction isolation level read uncommitted
  3. 事務 A:START TRANSACTION ; 
  4. 事務 B:START TRANSACTION ; 
  5. 事務 A:UPDATE xjjdog_tx SET money=money+100 WHERE NAME='xjjdog0'
  6. 事務 B:UPDATE xjjdog_tx SET money=money+100 WHERE NAME='xjjdog0'
  7. 事務 A:ROLLBACK ; 
  8. 事務 B:COMMIT ; 
  9. 事務 B:SELECT * FROM xjjdog_tx ; 

在這個場景下,money的原始值為100,分別在兩個session中進行了加100的操作,然后回滾了其中的一個session事務。結果,經過查詢,發現money的值保持100不變。也就是其中一次加100的操作被覆蓋掉了。

所以臟讀發生有幾個條件。

  • 高并發場景,在一個事務A開始之后還沒結束之前,有另外一個事務參與了事務A所涉及的數據行讀寫
  • 事務隔離級別處于最低的讀未提交
  • 在你使用到這些數據之后,事務A回滾,造成你之前拿到的數據已經不再存在

解決方式,只需要設置成隔離級別比read uncommitted高即可。

2. 不可重復讀

把隔離級別設置成read committed即可避免臟讀,這其實非常好理解。臟讀產生的根本原因就是在事務的執行期間有別的操作亂入,這個隔離級別要求事務A提交之后,修改后的值,才能被事務B讀到,所以臟讀是不可能會發生的,從根本上杜絕了。

但read commited會發生不可重復讀的情況。

顧名思義,就是在一個事務周期內,對于一個值的讀取,產生了兩個結果。

不可重復讀,證明了世界并不是總圍繞著你轉的。在你的事務執行期間,會有無數的其他事務執行,如果你的事務持續時間超過了這些事務,那么你就可能讀到兩個或者更多的值。

讓我來給你講一個故事。

從前,有一顆桃樹,長了12棵桃子。有一只猴子,叫做xjjdog,它想吃上面的桃子,但桃子還不熟。

第二天去看的時候,它發現桃子少了一個,變成了11個,經過仔細打聽,原來是被猴子A搶先吃掉一個。

第二天去看的時候,桃子又少了一個,變成了10個,原來是被饞嘴的猴子B吃掉一個。

如此這般,桃子一天天少了下去,只剩下最后的2個了,但桃子還是沒熟。

再不摘桃子就沒了,xjjdog摘下了最后的2個桃子,正打算大快朵頤,結果跳出一只猴子X,說我盯著這些桃子已經1年了...

在這故事中,猴子A、B的事務持續周期是1天;xjjdog的事務持續周期是直到桃子成熟;猴子X的持續周期更長,可能是一年。它們每天看到的桃子,并不總是12個。今天的桃子,可能被其他的猴子(事務)給吃掉了,造成了觀測的結果是不一樣的,這就是不可重復讀的概念。

有時候,即使讀到的值是一樣的,也不能證明沒問題。比如有財務挪用了2億去炒股,然后在月底把2億還了回來,雖然最終的金額都是一致的,但由于你的對賬周期長,就發現不了這種差異。

如何解決不可重復讀呢?先要看一下不可重復讀是不是問題。

有的系統,要求的就是這樣的邏輯,每次在事務中讀取到不一樣的值,它是可以忍受的。但如果你想要在桃子成熟之前,桃子的數量都在你的掌控之中,那不可重復讀就是一種問題。

一種非常好的方式,就是xjjdog一直站在桃樹地下。當有別的猴子想要摘桃,就把它趕走。這種方式可行,但在數據庫中非常低效,這是serializable級別的做法。

MySQL有一個默認的事務隔離級別,叫做repeatable read,使用了MVCC的方式(innodb),要更輕量級一些。

3. 可重復讀

這就是MVCC(Multi-Version Concurrency Control)的功勞了,它有三個特點。

每行數據都存在一個版本,每次數據更新時都更新該版本

修改時,拷貝一份,當前版本隨意修改,事務之間無干擾

保存時比較版本號,如果成功commit覆蓋原記錄,失敗則rollback

MVCC在InnoDB中的實現主要是為了提高數據庫并發性能,用更好的方式去處理讀-寫沖突,做到即使有讀寫沖突時,也能做到不加鎖,非阻塞并發讀。它的實現關鍵也有三項技術:

  1. 3個隱式字段:DB_TRX_ID,最近修改它的事務ID;DB_ROLL_PTR,回滾指針,指向上一個版本;DB_ROW_ID,隱藏主鍵
  2. undo日志:的對同一記錄的修改,會生成針對此記錄的版本變更鏈表
  3. read view:快照讀操作的時候,產生的讀視圖。除了使用上面的額外信息,它也會維護一個活躍的事務ID集合

一切的關鍵,就在于快照這兩個字上面。

比如事務A對某個記錄進行了快照讀,那么在快照讀的這一刻,就生成了一個Read View。在這一刻,事務B和C,還沒有commit,事務D和E,在建立ReadView那一刻之前,commit完成,那么這個Read View,就不能夠讀到B和C的修改。

但可惜的是,可重復讀,只能解決快照讀的不可重復讀,快照讀的時機,也會影響讀取的準確程度。請看下面兩種情況。

下面這種情況讀到的是500。

事務A 事務B
開啟事務 開啟事務
快照讀(無影響)查詢金額為500 快照讀查詢金額為500
更新金額為400  
提交事務  
  select 快照讀金額為500
  select lock in share mode當前讀金額為400

下面這種情況讀到的是400。

事務A 事務B
開啟事務 開啟事務
快照讀(無影響)查詢金額為500  
更新金額為400  
提交事務  
  select 快照讀金額為400
  select lock in share mode當前讀金額為400
 

(表格來自[SnailMann]的博客)。

4. 幻讀

幻讀,這個詞本身就非常的迷幻。在RU、RC、RR級別下,都會出現幻讀。

拿一個最簡單的例子來說。讓你select一條記錄是否存在然后打算進行后續插入時,如果這條記錄不存在,然后你執行了插入操作,但在實際執行插入操作的時候,結果卻報錯了,這條記錄已經存在了,這就是幻讀。

首先,確認目前時可重復讀級別。如果不是,則修改之。

  1. SELECT @@tx_isolation 
  2. set session transaction isolation level repeatable read 

讓我們來看一下這個靈異過程。

有5個步驟,我都給你標好了。下面一一介紹。

  1. 事務A使用begin開啟一個事務,然后查詢id為3的記錄,此時不存在。但由于快照讀開啟了一個針對于id為3的記錄的read view,所以在這個事務自始至終都不能夠讀到為3的記錄。很好,這就是我們不可重復讀所需要的
  2. 接下來,事務B插入了一條id為3的記錄,并提交成功
  3. 事務A此時也想插入這條記錄,于是執行了相同的插入操作,結果數據庫報錯,顯示這條記錄已經存在
  4. 事務A此時一臉懵逼,想看一下這條記錄到底是啥,但當它再次執行select語句的時候,卻查不到這條記錄
  5. 但在其他事務中,是可以看到這條記錄的,因為它已經正確提交

這就是幻讀。

5. 如何解決幻讀

幻讀有錯么?多數情況下沒錯,就是報錯怪異了些。要防止幻讀,需要開啟FOR UPDATE這樣高強度的鎖定,實際情況是非常少用。

為什么上面的操作,insert能報錯,但select卻無法查到數據呢?這就不得不提一下數據庫讀的兩種模式:

快照讀:普通的select操作,是從read view中讀取數據,讀取的可能是歷史數據

當前讀:insert、update、delete、select..for update這種操作,讀取的總是當前的最新數據

對于當前讀,你讀取的行,以及行的間隙都會被加鎖,直到事務提交時才會釋放,其他的事務無法進行修改,所以也不會出現不可重復讀、幻讀的情形。所以insert能夠發現沖突,而普通select卻不可以。要想解決幻讀,就需要加X鎖。在上面這種情況,就可以在事務A中執行:

  1. SELECT * FROM xjjdog_tx WHERE id=3 FOR UPDATE 

當這么做的時候,即使id為3的記錄不存在,它也會創建鎖(在背后可能根據記錄的存在與否加行X鎖或者next-key lock間隙x鎖)。

6. 總結

下面簡單總結一下。

臟讀,就是一個事務讀取到另一個事務還沒有提交的記錄。當其他事務發生回滾的時候,就會出現問題。

不可重復讀,意思是在同一個事務里,讀多次可能會獲得不一致的結果。這是因為在事務執行期間,有別的事務修改了這些記錄。

MySQL默認是可重復讀,但會發生幻讀的情況?;米x是由于快照讀和當前讀的差別產生的。

要想解決幻讀,就需要加鎖(X鎖,Gap鎖等),比如for update,全部改成當前讀直到事務結束,自然沒有問題。

所謂的最高級別serializable,不過是全部搞成了當前讀而已,在高并發的環境下效率,可想而知。所以幾乎沒有用的。

作者簡介:小姐姐味道 (xjjdog),一個不允許程序員走彎路的公眾號。聚焦基礎架構和Linux。十年架構,日百億流量,與你探討高并發世界,給你不一樣的味道。我的個人微信xjjdog0,歡迎添加好友,進一步交流。

 

責任編輯:武曉燕 來源: 小姐姐味道
相關推薦

2022-01-03 07:18:05

臟讀幻讀 MySQL

2024-04-19 08:18:47

MySQLSQL隔離

2019-03-21 09:06:00

數據庫復讀幻讀

2022-04-27 07:32:02

臟讀幻讀不可重復讀

2024-04-24 08:26:35

事務數據InnoDB

2020-06-09 08:19:25

微服務網站架構

2012-06-13 14:58:09

BYOD移動辦公

2023-08-09 17:22:30

MVCCMySQL數據

2023-11-01 14:13:00

MySQL事務隔離級別

2020-06-18 10:52:17

運維架構技術

2017-04-27 13:30:14

AndroidWebView移動應用

2018-01-24 07:28:20

2013-09-22 09:16:25

碼農程序員黑客

2009-02-12 17:25:21

Windows7試用下載

2009-09-04 08:19:24

Windows 7優缺點

2025-02-26 10:40:44

數據庫并發幻讀

2023-08-31 22:17:15

JavaMySQLB+樹

2011-12-16 14:52:55

移動互聯聯想

2022-06-30 08:00:00

MySQL關系數據庫開發

2024-09-02 00:00:00

MySQL幻讀數據
點贊
收藏

51CTO技術棧公眾號

日韩精品成人一区二区三区 | 亚洲欧美国产视频| 久草热视频在线观看| 免费av在线电影| 韩国女主播成人在线观看| 欧美极品少妇xxxxⅹ免费视频 | 麻豆国产欧美一区二区三区r| 欧美小视频在线| 在线看成人av电影| 亚洲av成人无码网天堂 | 日本女人性视频| 澳门成人av网| 亚洲一区二区三区在线看| 欧洲亚洲一区二区| 色婷婷综合视频| 激情六月婷婷久久| 国产福利视频一区二区| 日本在线视频免费观看| 欧美激情偷拍自拍| 亚洲色图偷窥自拍| 99热超碰在线| 国内不卡的一区二区三区中文字幕| 婷婷综合五月天| 日韩精品福利片午夜免费观看| 久热av在线| 不卡的av在线播放| 99久久国产免费免费| 涩涩视频在线观看| 免费在线成人| 午夜精品久久久久久99热软件| www.黄色在线| 亚洲区小说区| 99国产精品私拍| 最新在线中文字幕| 亚洲成人激情小说| 不卡在线视频| 99精品黄色片免费大全| 96精品久久久久中文字幕| 青青国产在线观看| 国产爆初菊在线观看免费视频网站 | 在线观看免费小视频| 国产女人18毛片水真多18精品| 91精品久久久久久久99蜜桃| 在线黄色免费观看| 日韩毛片在线| 欧美性大战久久久久久久蜜臀| 国产乱子夫妻xx黑人xyx真爽| av电影免费在线看| 舔着乳尖日韩一区| 亚洲美免无码中文字幕在线| 成年人视频免费在线播放| 一区二区三区加勒比av| 穿情趣内衣被c到高潮视频| 黄色免费网站在线观看| 亚洲欧洲精品一区二区三区不卡| 亚洲欧美国产不卡| 毛片在线不卡| 亚洲女与黑人做爰| www国产免费| 国精一区二区三区| 天天操天天色综合| 国产又大又硬又粗| 日韩在线短视频| 欧美色视频在线| 中国黄色片一级| 91麻豆精品激情在线观看最新| 日韩欧美一级二级| 影音先锋黄色资源| 羞羞答答一区二区| 中文字幕精品国产| 国产精品久久久久久久精| 欧美日韩三级| 欧美一级淫片播放口| 天天爱天天做天天爽| 精品一区二区三区免费毛片爱| 亚洲综合日韩在线| 婷婷av一区二区三区| 久久综合国产精品| 中文字幕一区二区三区精彩视频| a级影片在线| 丁香五六月婷婷久久激情| 人人干人人视频| 国产免费区一区二区三视频免费| 亚洲精品一区二区三区在线观看 | 亚洲人成在线播放网站岛国| 欧美 日韩 国产精品| 亚洲优女在线| 欧美一区二区美女| 日韩网站在线播放| 欧美xxxxx视频| 97视频在线观看亚洲| 波多野结衣二区三区| 激情五月激情综合网| 国产区二精品视| av网站在线免费播放| 亚洲黄一区二区三区| 久久久久狠狠高潮亚洲精品| 亚洲成人高清| 亚洲久久久久久久久久| 久久免费看少妇高潮v片特黄| 欧美亚洲三级| 成人午夜电影在线播放| av影片在线看| 欧美性生交xxxxxdddd| 国产一级片中文字幕| 狠狠综合久久av一区二区蜜桃 | 国产一区二区三区不卡视频网站| 91久久精品日日躁夜夜躁欧美| 亚洲最大天堂网| 亚洲a级精品| 色综合久久久久久中文网| 在线免费观看av网址| 高清不卡在线观看av| 亚洲一区二区不卡视频| 小早川怜子影音先锋在线观看| 欧美一区二区三区免费视频| 亚洲成人网在线播放| 国产专区一区| 91精品国产91久久久久青草| 成年人在线观看视频| 精品国产户外野外| 国产精品熟妇一区二区三区四区| 日本一二区不卡| 国产精品爱啪在线线免费观看| 黄色一级大片在线免费看国产| 国产精品成人一区二区三区夜夜夜| 男人靠女人免费视频网站| 一区二区亚洲视频| 久久躁狠狠躁夜夜爽| 日韩xxx视频| 久久久久久久综合狠狠综合| 尤物av无码色av无码| 91九色鹿精品国产综合久久香蕉| 久久成人18免费网站| 一级日韩一级欧美| 欧美高清在线精品一区| 免费国产成人av| 免费av一区二区三区四区| 韩国福利视频一区| 日批免费在线观看| 亚洲r级在线视频| 国产精品成人免费一区久久羞羞| 中文字幕一区二区三区乱码图片| 国产专区精品视频| 欧美性videos| 91精品国产综合久久精品性色| 香蕉久久久久久久| 激情综合色丁香一区二区| 自拍偷拍亚洲色图欧美| 高清一区二区中文字幕| 久热精品视频在线观看| 国产91视频在线| 亚洲一区在线免费观看| 一级黄色片毛片| 99视频+国产日韩欧美| 黄色91av| 亚洲成人激情社区| 色天天综合狠狠色| 国产免费黄色录像| 亚洲一区在线电影| 成人网站免费观看| 肉丝袜脚交视频一区二区| 视频在线99re| 91成人小视频| 欧美激情啊啊啊| 先锋av资源站| 欧美亚洲高清一区二区三区不卡| 婷婷综合在线视频| 国产精品一区三区| 国产一区二区视频播放| 久久综合亚洲| 91精品视频在线| 黄色在线看片| 台湾成人免费视频| 欧美日韩国产页| v8888av| 蜜臀久久久99精品久久久久久| 亚洲啪啪av| 日韩高清二区| 欧美制服第一页| 最新国产在线观看| 日韩精品影音先锋| 4438国产精品一区二区| 中文字幕一区二区三区四区| 精品国产一二区| 久久精品二区三区| 日韩最新中文字幕| 欧美久久香蕉| 成人在线中文字幕| 色综合亚洲图丝熟| 久久这里有精品| 毛片网站在线观看| 日韩欧美一二三| 精品无码一区二区三区的天堂| 亚洲另类春色国产| xxx在线播放| 国产suv精品一区二区6| 日韩精品无码一区二区三区免费| 影音先锋日韩在线| 欧美一区二区三区精美影视 | 成人午夜一级二级三级| aa视频在线观看| 久久精品视频导航| 少妇精品视频一区二区| 911国产精品| 波多野结衣爱爱| 精品国产精品自拍| 国产大学生自拍| 日本一区二区高清| 国产精品jizz| 成人午夜视频在线观看| 天天干天天玩天天操| 香蕉久久夜色精品国产| 国产又大又长又粗又黄| 蜜臀av免费一区二区三区| 国产激情美女久久久久久吹潮| 韩国成人在线| 日韩av成人在线| heyzo高清在线| 久久99国产精品自在自在app| 成人一区二区不卡免费| 精品五月天久久| 色婷婷视频在线| 337p日本欧洲亚洲大胆精品 | ijzzijzzij亚洲大全| 精品国产乱码| 欧洲国产精品| 国产欧美一区| 鲁鲁狠狠狠7777一区二区| www.日日夜夜| 欧美亚洲综合另类| 国产一级片毛片| 午夜精品aaa| 免费又黄又爽又色的视频| 成人欧美一区二区三区白人| 日韩中文字幕有码| 国产亚洲一区字幕| 国产特黄级aaaaa片免| bt欧美亚洲午夜电影天堂| 日韩av成人网| 成人少妇影院yyyy| 美女伦理水蜜桃4| 成人h动漫精品| 男人的天堂影院| av在线播放成人| 亚洲国产欧美视频| 91蝌蚪porny成人天涯| 欧美熟妇精品黑人巨大一二三区| 成人aa视频在线观看| 无码国产精品一区二区免费式直播| 成人看片黄a免费看在线| 69亚洲乱人伦| 久久夜色精品一区| 亚洲一区视频在线播放| 日本一区二区久久| 日本高清不卡免费| 有坂深雪av一区二区精品| 日本成人精品视频| 一区二区三区四区中文字幕| 91成人福利视频| 亚洲成人在线网站| 亚洲免费在线观看av| 色综合久久久久综合体| 亚洲av综合一区| 91精品国模一区二区三区| 精品人妻一区二区三区三区四区| 欧美成人a在线| 欧洲亚洲精品视频| 中文字幕视频在线免费欧美日韩综合在线看 | 国产成人综合网| 男男受被啪到高潮自述| 亚洲欧洲日本韩国| 欧美日一区二区在线观看| 一区二区三区高清不卡| 91精品啪在线观看国产| www国产精品av| 国产免费黄色av| 秋霞影院一区| 国产原创精品| 不卡在线一区| 国产91在线亚洲| 嫩草成人www欧美| 亚洲va在线va天堂va偷拍| 粉嫩久久99精品久久久久久夜| 人妻丰满熟妇av无码久久洗澡| 国产三级精品三级在线专区| 手机在线免费看片| 欧美日韩亚洲高清| 国产精品久久久久久久免费看| 精品精品国产高清a毛片牛牛| 黄色av网站在线免费观看| 粗暴蹂躏中文一区二区三区| 麻豆视频在线观看免费网站黄| 国产精品入口免费视频一| 亚洲3区在线| 午夜免费电影一区在线观看| 欧美日韩视频| 亚洲 国产 图片| 99久久免费精品高清特色大片| 国产第一页精品| 五月天网站亚洲| 一区二区三区日| 亚洲女人被黑人巨大进入al| 国产在线观看av| 国产99久久精品一区二区 夜夜躁日日躁| vam成人资源在线观看| 欧美高清视频一区| 欧美日韩91| 中文国产在线观看| 国产日韩在线不卡| 日韩欧美视频在线免费观看| 欧美精品免费视频| 黄视频在线观看免费| 久久久久在线观看| 国产精品毛片aⅴ一区二区三区| 欧美高清视频一区二区三区在线观看| 国产在线不卡| 夜夜爽久久精品91| 国产拍欧美日韩视频二区| 国产精品亚洲精品| 人成网站在线观看| 精品国偷自产在线视频| 欧美黑人巨大xxxxx| 国产91视觉| 午夜日韩福利| 午夜av中文字幕| 亚洲色欲色欲www| 一区精品在线观看| 亚洲午夜未删减在线观看| 中文字幕在线直播| 国产在线精品一区二区三区| 欧美午夜电影在线观看 | 亚洲人成网站在线观看播放| 久久国产精品亚洲77777| 少妇一级淫片免费放播放| 亚洲一区二区在线播放相泽| 精品国自产拍在线观看| 美日韩精品免费观看视频| 国产高清日韩| 91视频成人免费| 国产电影一区二区三区| 亚洲熟女www一区二区三区| 欧美一级日韩免费不卡| √天堂8在线网| 97久久精品午夜一区二区| 一区二区三区四区电影| 丰满少妇一区二区三区专区| 亚洲免费色视频| 不卡av中文字幕| 国产+人+亚洲| 亚洲免费毛片| 午夜国产一区二区三区| 国产精品国产三级国产普通话蜜臀| 进去里视频在线观看| www.久久撸.com| 日韩中文字幕视频网| 日韩视频在线视频| 91免费小视频| 伊人久久久久久久久久久久| 最近日韩中文字幕中文| 久久国产精品免费一区二区三区| 日本天堂免费a| 97超碰欧美中文字幕| 欧美精品韩国精品| 色妞欧美日韩在线| 视频一区日韩精品| 久在线观看视频| 国产女人aaa级久久久级| 一区二区三区免费观看视频| 色综合老司机第九色激情| 欧美1区二区| 色国产在线视频| 一区二区日韩电影| 日本天堂在线| 91在线|亚洲| 国产色综合网| www中文在线| 亚洲成色www8888| 欧亚一区二区| 成人免费在线视频播放| 久久久久久久国产精品影院| 97人妻一区二区精品免费视频| 欧美激情网友自拍| 激情五月综合| 欧美熟妇精品一区二区| 日韩欧美精品网址| a级网站在线播放| 日本一区二区久久精品| 国内不卡的二区三区中文字幕| 中文在线观看免费网站| 在线观看欧美www| 国产成人精品福利| 高清av免费看| 精品国产91久久久久久老师| 久久日韩视频| 日韩限制级电影在线观看| 国产欧美小视频| 国产精品国产三级国产| 亚洲精品中文字幕乱码无线| 一级做a爱片久久|