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

一篇帶給你MySQL鎖機制

數(shù)據(jù)庫 MySQL
鎖按照鎖粒度分為:全局鎖、表鎖和行鎖。行鎖是引擎層的實現(xiàn),我們文中描述的行鎖都是基于InnoDB存儲引擎的實現(xiàn)。InnoDB的行鎖采用的兩階段鎖協(xié)議,鎖在需要的時候添加,只有在事務commit或者rollback時才會一次性釋放所有鎖。

無論什么時候,只要存在多個連接在同一時刻修改數(shù)據(jù),都會涉及到并發(fā)控制的問題。MySQL實現(xiàn)了兩個層面的并發(fā)控制:服務層和引擎層。

鎖分類

按照使用場景分類

共享鎖:共享鎖(shared lock)也稱為讀鎖(read lock)。共享鎖是共享的,或者說是相互不阻塞的。多個連接在同一時刻可以同時讀取同一個資源,而不相互干擾。

排他鎖:排他鎖(exclusive lock)也稱為寫鎖(write lock)。寫鎖是排他的,也就是一個寫鎖會阻塞其他的寫鎖和讀鎖。

按照加鎖思想分類

悲觀鎖:對數(shù)據(jù)被外界修改保持悲觀的態(tài)度,在整個數(shù)據(jù)處理過程中,數(shù)據(jù)都處于鎖定狀態(tài)。

樂觀鎖:它認為數(shù)據(jù)一般情況下不會造成沖突,在數(shù)據(jù)更新的時候才會對數(shù)據(jù)的沖突與否進行校驗。

按照鎖粒度分類

全局鎖:對整個數(shù)據(jù)庫實例加鎖,它將整個數(shù)據(jù)庫實例處于只讀的狀態(tài)。

表級鎖:對整個表進行加鎖的方式。MySQL表級鎖分為表鎖和元數(shù)據(jù)鎖。

行級鎖:行鎖可以最大程度的支持并發(fā)處理,行鎖是存儲引擎層實現(xiàn)的,而MySQL服務層并沒有實現(xiàn)行鎖。InnoDB存儲引擎行級鎖類型:Record Lock、Gap Lock、Next-key Lock。

讀寫鎖

讀鎖

共享鎖:共享鎖(shared lock)也稱為讀鎖(read lock)。共享鎖是共享的,或者說是相互不阻塞的。多個連接在同一時刻可以同時讀取同一個資源,而不相互干擾。

加鎖命令

  1. select ...... lock in share mode; 

測試

測試時,設置事務手動提交:set autocommit = 0,后續(xù)如果沒有明確的提示,autocommit都是0。

測試時,大家開啟兩個窗口,建立兩個連接,窗口1和窗口2分別對應事務A和事務B。

  • 窗口1:查詢id=6的行數(shù)據(jù)并添加讀鎖,正確返回數(shù)據(jù)。
  • 窗口2:依然查詢id=6的行數(shù)據(jù)并添加讀鎖,正確返回數(shù)據(jù)。讀讀不沖突。
  • 窗口1:對id=6的行執(zhí)行寫操作(update語句),在窗口2的事務提交之前,寫操作阻塞,并可能會超時退出。

如果寫鎖等待時間過長,則會超時退出。

  1. 窗口1 
  2. mysql> update user set age = 20 where id =6; 
  3. ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction 

 如果在窗口1中的事務在執(zhí)行寫操作等待期間,窗口2的事務也執(zhí)行同一行數(shù)據(jù)的寫操作,則會導致死鎖錯誤。

  1. 窗口2 
  2. mysql> update user set age = 30 where id =6; 
  3. ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction 

 寫鎖

排他鎖(exclusive lock)也稱為寫鎖(write lock)。寫鎖是排他的,也就是一個寫鎖會阻塞其他的寫鎖和讀鎖。

加鎖命令

  1. select ...... for update

測試

  • 窗口1:查詢id=6的行數(shù)據(jù)并添加寫鎖,正確返回數(shù)據(jù)。
  • 窗口2:依然查詢id=6的行數(shù)據(jù)并添加寫鎖,阻塞。寫寫沖突。
  • 窗口1:對id=6的行執(zhí)行寫操作(update語句),寫操作未阻塞。
  • 窗口1事務提交之后,窗口2的查詢語句返回結果。

悲觀鎖和樂觀鎖

不論是樂觀鎖還是悲觀鎖都是人們定義的一種概念,并不是一種鎖實現(xiàn),它是一種思想。樂觀鎖比較適用于讀多寫少的場景,悲觀鎖適用于寫多讀少的場景。

悲觀鎖

當我們對數(shù)據(jù)庫的某一條數(shù)據(jù)進行修改操作時,為了避免同時有其他人對同一行數(shù)據(jù)進行修改,通過對數(shù)據(jù)進行加鎖的方式以防止并發(fā)問題。這種借助了數(shù)據(jù)庫的鎖機制,在修改數(shù)據(jù)之前先鎖定再修改的方式稱為悲觀鎖(Pessimistic Lock)。

悲觀鎖具有強烈的獨占性和排他性,在整個數(shù)據(jù)的寫操作過程,都將數(shù)據(jù)處于鎖定狀態(tài)。悲觀鎖的實現(xiàn)往往需要數(shù)據(jù)庫提供的鎖機制。

悲觀鎖的實現(xiàn):

  • 數(shù)據(jù)庫的鎖機制如行鎖、表鎖、讀鎖和寫鎖都是在操作之前先加鎖的操作,都屬于悲觀鎖。
  • Java中學習的synchronized關鍵字也是悲觀鎖。

樂觀鎖

樂觀鎖是相對于悲觀鎖的概念,樂觀鎖是假設數(shù)據(jù)一般情況下都不會存在并發(fā)沖突,在數(shù)據(jù)進行更新的時候才會對數(shù)據(jù)的沖突與否進行驗證。如果存在沖突,則告訴用戶結果,由用戶決定下一步該怎么做。

樂觀鎖是一種寬松的加鎖方式,它不需要使用數(shù)據(jù)庫本身的鎖機制。

樂觀鎖的實現(xiàn):

  • MVCC,數(shù)據(jù)庫多版本控制利用版本號控制數(shù)據(jù)更新的并發(fā)問題,是樂觀鎖的實現(xiàn)。
  • CAS,比較并交換是Java中樂觀鎖的實現(xiàn)。

全局鎖

全局鎖:對整個數(shù)據(jù)庫實例加鎖,它將整個數(shù)據(jù)庫實例處于只讀的狀態(tài)。

加鎖命令 (FTWRL)

  1. Flush tables with read lock; 

應用場景

全局鎖常用來對整個數(shù)據(jù)庫實例進行邏輯備份。

全局鎖加鎖期間,業(yè)務的數(shù)據(jù)更新操作(DML)和 表結構的修改操作(DDL)都是會被鎖住的。

此時你是不是有個疑問:開發(fā)中備份都是直接使用mysqldump,什么時候使用FTWRL呢?

官方自帶的邏輯備份工具mysqldump 使用參數(shù)-single -transaction的時候,在導出數(shù)據(jù)的時候就會啟動一個事務,來確保拿到一致性視圖,在學習事務隔離的時候我們了解到,基于MVCC的一致性視圖,這個過程中的數(shù)據(jù)是可以正常更新的。但是我們要知道事務是引擎層的實現(xiàn),并不是每個存儲引擎都支持事務。我們在開發(fā)中大部分的備份使用的是mysqldump,主要是因為我們的存儲引擎大部分情況都是使用的默認的引擎InnoDB。

表級鎖

表級鎖:即是對整張表進行加鎖。表的定義包含兩個部分:數(shù)據(jù)和結構,所以表級鎖也分為兩類:表鎖和元空間鎖。

表鎖

表鎖是MySQL中最基本的鎖策略,并且也是開銷最小的策略。表鎖會鎖住整張表,在對表進行寫操作(插入、刪除、更新等)前,需要先獲取寫鎖,它會阻塞其他用戶對該表的所有讀寫操作。只有沒有寫鎖時,其他讀取的用戶才能獲取讀鎖。讀鎖之前互相不會造成阻塞。

寫鎖的優(yōu)先級高于讀鎖,因此一個寫鎖的請求可能會被插入到讀鎖隊列前面,但是讀鎖是不能插入到寫鎖的前面的。

加解鎖命令

  1. -- 對表加讀鎖 
  2. lock tables ...... read
  3. -- 對表加寫鎖 
  4. lock tables ...... write; 
  5. -- 釋放鎖 
  6. unlock tables; 

 測試

表鎖讀鎖測試

  • 窗口1:對user表加讀鎖。
  • 窗口2:對user表全表讀取,正常返回全表數(shù)據(jù)。
  • 窗口2:修改user表中id=6的數(shù)據(jù),阻塞。讀寫沖突。
  • 窗口1:修改user表中id=6的數(shù)據(jù),報錯。
  • 窗口1:釋放讀鎖,窗口2的更新數(shù)據(jù)執(zhí)行成功。

表鎖寫鎖測試

  • 窗口1:對user表添加寫鎖。
  • 窗口2:全表查詢user表,阻塞。
  • 窗口1:更新user表中的id=6的數(shù)據(jù),更新成功。
  • 窗口1:釋放鎖,窗口2的全表查詢返回最新數(shù)據(jù)。

元空間鎖

MySQL5.5版本中引入了元空間鎖(matadata lock),當對一個表做增刪改查操作的時候,會添加MDL讀鎖。當對表結構變更操作的時候,會添加MDL寫鎖。MDL的作用是防止DDL和DML并發(fā)的沖突。

MDL鎖是系統(tǒng)默認添加的,不需要顯式的添加。

測試

  • 窗口1:查詢表中的一條數(shù)據(jù),這個時候在執(zhí)行查詢語句,會添加MDL讀鎖。
  • 窗口2:添加字段,此時執(zhí)行的是alter語句,會添加MDL寫鎖。這個時候窗口1的讀鎖沒有釋放,所以alter語句會阻塞。
  • 窗口3:查詢表中的一條數(shù)據(jù),由于窗口2導致的阻塞,在窗口3申請MDL讀鎖的時候也會造成阻塞。
  • 窗口1:提交事務,窗口3獲取了MDL讀鎖,返回查詢結果。
  • 窗口3:提交事務釋放了讀鎖,窗口2獲取寫鎖,添加字段成功。

行級鎖

MySQL的行鎖是在引擎層由各個存儲引擎實現(xiàn)的。并不是所有的存儲引擎都支持行鎖,比如MyISAM引擎是不支持行鎖的。不支持行鎖意味著并發(fā)控制的時候只能使用表鎖,這也意味著同一個時刻同一個表只有一個更新執(zhí)行,嚴重影響了并發(fā)。InnoDB是支持行鎖的,這也是InnoDB能替代MyISM的重要原因之一。

兩階段鎖協(xié)議

在InnoDB事務,行鎖是需要的時候加上的,但并不是不需要了就立刻釋放的,而是需要等到事務結束后才會釋放鎖。這個就是兩階段鎖協(xié)議。

InnoDB是采用的兩階段鎖協(xié)議。在事務執(zhí)行的過程中,隨時都可以鎖定,鎖只有在執(zhí)行commit或者rollback的時候才會釋放,并且所有的鎖是在同一個時刻釋放的。

事務A執(zhí)行了兩條update語句之后,事務B也執(zhí)行update語句,但是事務B阻塞直到事務A提交事務。

行鎖

我們創(chuàng)建一張簡單表t,其中id為主鍵,a為索引,插入6條數(shù)據(jù)。

  1. CREATE TABLE `t1` ( 
  2.   `id` int(11) NOT NULL
  3.   `a` int(11) DEFAULT NULL
  4.   `b` int(11) DEFAULT NULL
  5.   PRIMARY KEY (`id`), 
  6.   KEY `idx` (`a`) 
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
  8. insert into t1 values(0,0,0),(5,5,5),(10,10,10),(15,15,15),(20,20,20),(25,25,25); 

 間隙鎖(Gap Lock)

間隙鎖,鎖的是兩個值的間隙。

對于表t1,6條數(shù)據(jù)就產生了7個間隙,如下圖所示:

我們看前面學習的寫鎖的例子:

  1. begin; 
  2. select * from t1 where b = 5 for update
  3. commit
  • 加了寫鎖的select查詢是當前讀,讀取的是最新的數(shù)據(jù)值。
  • b字段不是表的索引字段,它會掃描全表將滿足條件的行都加上寫鎖,也會給滿足條件的行兩邊的間隙加上了鎖。

間隙鎖之間并不會沖突,與間隙鎖存在沖突關系的是往這個間隙中插入數(shù)據(jù)的操作。

next-key lock

行鎖和間隙鎖的合稱為next-key lock每個next-key lock都是一個前開后閉的區(qū)間。這里不要混淆了,間隙鎖是一個開區(qū)間,間隙鎖加上行鎖生成的next-key lock是一個前開后閉的區(qū)間。

間隙鎖和next-key lock的引入幫助我們解決了幻讀的問題。

間隙鎖是可重復隔離級別下才生效的,如果我們把隔離級別設置為讀提交,那就沒有間隙鎖了。

測試

前面我們在學習其他鎖的時候,為了省事把autocommit設置為了0,現(xiàn)在我們需要把autocommit設置為1;

  • 窗口1:使用顯式事務,通過for update加寫鎖,對滿足條件的行和間隙加鎖。
  • 窗口2:更新id為0的行,此行沒有加鎖更新成功。
  • 窗口3:插入數(shù)據(jù),滿足了(0,5]的next-key lock,阻塞等待。

總結

鎖按照鎖粒度分為:全局鎖、表鎖和行鎖。

行鎖是引擎層的實現(xiàn),我們文中描述的行鎖都是基于InnoDB存儲引擎的實現(xiàn)。

InnoDB的行鎖采用的兩階段鎖協(xié)議,鎖在需要的時候添加,只有在事務commit或者rollback時才會一次性釋放所有鎖。

可重復度隔離級別下存在間隙鎖,如果設置為其他的隔離級別下就沒有間隙鎖了。間隙鎖即是對行數(shù)據(jù)的兩邊間隙進行加鎖,間隙鎖加上行鎖合稱為next-key lock,它是一個前開后閉的區(qū)間。間隙鎖解決了幻讀的問題。

大家在學習鎖的時候還需多動手實踐。

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-03-12 09:21:31

MySQL數(shù)據(jù)庫邏輯架構

2021-04-30 09:04:11

Go 語言結構體type

2021-07-12 06:11:14

SkyWalking 儀表板UI篇

2022-03-03 09:05:17

索引MySQL數(shù)據(jù)查詢

2021-03-18 08:53:44

MySQL數(shù)據(jù)庫索引

2021-05-19 08:12:39

etcd分布式鎖分布式系統(tǒng)

2024-06-13 08:34:48

2021-04-14 14:16:58

HttpHttp協(xié)議網(wǎng)絡協(xié)議

2022-04-29 14:38:49

class文件結構分析

2021-04-08 11:00:56

CountDownLaJava進階開發(fā)

2021-07-21 09:48:20

etcd-wal模塊解析數(shù)據(jù)庫

2021-01-28 08:55:48

Elasticsear數(shù)據(jù)庫數(shù)據(jù)存儲

2022-03-22 09:09:17

HookReact前端

2021-06-21 14:36:46

Vite 前端工程化工具

2022-02-17 08:53:38

ElasticSea集群部署

2023-03-29 07:45:58

VS編輯區(qū)編程工具

2021-07-08 07:30:13

Webpack 前端Tree shakin

2023-03-13 09:31:04

2021-10-28 08:51:53

GPIO軟件框架 Linux

2022-02-25 15:50:05

OpenHarmonToggle組件鴻蒙
點贊
收藏

51CTO技術棧公眾號

韩国v欧美v亚洲v日本v| 日韩在线观看| 色综合久久六月婷婷中文字幕| 美女三级99| 国产精品伦一区二区三区| 国产精品vip| 亚洲人高潮女人毛茸茸| 少妇欧美激情一区二区三区| 亚洲欧美小说色综合小说一区| 国产精品理伦片| 狠狠综合久久av| 91精品中文字幕| 国产日韩亚洲| 久久成人在线视频| 人妻少妇无码精品视频区| 中文无码日韩欧| 欧美老女人在线| 精品中文字幕av| 日本不卡影院| 国产精品美女久久久久久久久| 国产日韩在线一区二区三区| 中文字幕在线观看高清| 亚洲一区国产| 九九热99久久久国产盗摄| 免费看91的网站| 全国精品免费看| 欧美成人伊人久久综合网| 爱情岛论坛亚洲首页入口章节| 日韩在线伦理| 亚洲成人综合在线| 青青青在线观看视频| 在线观看麻豆| 欧美激情资源网| 免费看污久久久| 亚洲aaa在线观看| 国产不卡在线一区| 91老司机在线| 一区二区三区日| 亚洲欧美春色| 91av成人在线| yjizz国产| 亚洲经典视频在线观看| 色综合天天综合网国产成人网 | 久久午夜免费电影| 国产精华一区二区三区| 国产黄频在线观看| 国产精品影音先锋| 91黄在线观看| 亚洲精品视频91| 国产v综合v亚洲欧| 99在线观看视频网站| 国产aⅴ爽av久久久久成人| 久久精品国产77777蜜臀| 成人黄色在线免费| 97人妻一区二区精品免费视频| 美女一区二区视频| 成人av在线天堂| 国产精品熟女久久久久久| 久久精品免费观看| 91久久在线播放| 精品毛片一区二区三区| 国产激情偷乱视频一区二区三区| 成人黄色片视频网站| 日韩性xxxx| 久久先锋影音av鲁色资源网| 日本一区免费在线观看| av女优在线| 亚洲女同女同女同女同女同69| 一区二区三区|亚洲午夜| 麻豆传媒在线观看| 一个色妞综合视频在线观看| 少妇高潮喷水在线观看| 亚洲黄色免费av| 欧美日韩精品欧美日韩精品一综合| 亚洲欧美日韩精品一区| 一本色道69色精品综合久久| 亚洲精品xxx| 超碰人人人人人人人| 影音先锋成人在线电影| 午夜精品久久久久久久白皮肤| 九九热在线免费观看| 日韩极品在线观看| 亚洲在线一区二区| 欧美69xxxxx| 国产精品大尺度| 妞干网在线观看视频| 成人日韩精品| 日韩三级在线观看| av黄色免费网站| 中文字幕一区二区三区欧美日韩 | 一本色道久久综合狠狠躁的番外| 亚洲天堂第一页| 1024手机在线视频| 欧美亚洲专区| 99国产盗摄| 国内在线精品| 亚洲综合网站在线观看| 午夜dv内射一区二区| 91嫩草精品| 一本一道久久a久久精品逆3p| 久久久一区二区三区四区| 日韩精品乱码av一区二区| 亚洲综合一区二区不卡| 国产福利片在线| 午夜视频一区二区| 欧美性受xxxxxx黑人xyx性爽| 国产精品99久久免费观看| 中文字幕一区电影| 色屁屁影院www国产高清麻豆| 国产一区二区视频在线| 欧美亚洲爱爱另类综合| 国产丝袜在线播放| 欧美精品第一页| 国产 欧美 在线| 亚洲东热激情| 91九色蝌蚪成人| 五月婷婷在线观看| 色综合中文字幕国产| 69亚洲乱人伦| 午夜视频一区| 91亚洲国产精品| 北岛玲一区二区三区| 色天天综合色天天久久| 女同性恋一区二区三区| 欧美激情亚洲| 国产日本欧美一区二区三区| 国际av在线| 色综合久久中文综合久久牛| 亚洲久久久久久| 欧美特黄一级| aa成人免费视频| aaa大片在线观看| 制服丝袜亚洲色图| 18精品爽国产三级网站| 日韩和欧美的一区| 日本精品一区二区| 欧美成a人片在线观看久| 精品亚洲夜色av98在线观看 | 午夜在线视频观看日韩17c| ts人妖另类在线| 久久99亚洲网美利坚合众国| 日韩欧美美女一区二区三区| 私库av在线播放| 国产精品白丝jk黑袜喷水| 欧美日韩午夜爽爽| 日韩中文字幕无砖| 欧美精品国产精品日韩精品| 亚洲伦理在线观看| 亚洲成va人在线观看| 亚洲啪av永久无码精品放毛片| 红桃视频欧美| 精品日韩美女| 日韩高清在线| 久久久av网站| 精品国自产拍在线观看| 亚洲无人区一区| www.免费av| 日韩精品乱码免费| 亚洲一卡二卡三卡| 九九99久久精品在免费线bt| 欧美高清在线观看| 日韩在线视频第一页| 色伊人久久综合中文字幕| 手机看片日韩av| 激情亚洲综合在线| 999一区二区三区| 日韩人体视频| 国产精品美女网站| 日韩精品极品视频| 中文字幕在线观看高清| 亚洲精品美国一| 国模私拍在线观看| 日本欧美韩国一区三区| www.-级毛片线天内射视视| 中文字幕久久精品一区二区| 秋霞av国产精品一区| 欧美午夜电影一区二区三区| 欧美成人一区二区三区片免费 | 精品久久久久一区二区国产| 国产黄色免费观看| 中文字幕在线不卡一区| 在线播放av网址| 日韩精品国产欧美| 路边理发店露脸熟妇泻火| 欧美a级网站| 国产精品日本精品| 国产三级伦理在线| 一区二区三区国产在线观看| 不卡视频在线播放| 日本精品视频一区二区三区| 欧美高清视频一区二区三区| 久久网站最新地址| 免费人成视频在线播放| 日韩中文字幕亚洲一区二区va在线 | 手机在线播放av| 亚洲综合99| 日本丰满大乳奶| 欧美日韩爱爱| 国产精品午夜av在线| 国产a亚洲精品| 97精品在线观看| 国产视频在线播放| 亚洲午夜国产成人av电影男同| 99久久久国产精品无码网爆| 色综合激情久久| 国产真实的和子乱拍在线观看| 中文字幕不卡的av| 中文字幕在线免费看线人| 国产在线精品一区在线观看麻豆| 激情五月开心婷婷| 日韩视频一区二区三区在线播放免费观看| 亚洲成人a**址| 亚洲va久久| 九九久久99| 亚洲开心激情| 亚洲自拍偷拍福利| 久久亚洲精品人成综合网| 日韩美女免费观看| 麻豆视频在线观看免费网站黄| 欧美另类xxx| 免费av网站在线观看| 国产亚洲a∨片在线观看| 日本精品999| 日韩免费观看高清完整版在线观看| 亚洲性猛交富婆| 91成人国产精品| 国产又大又黄又粗| 欧美视频不卡中文| 日韩美女黄色片| 亚洲国产wwwccc36天堂| 久久网中文字幕| 亚洲国产裸拍裸体视频在线观看乱了 | 啊啊啊国产视频| 日韩精品福利网| 欧美自拍小视频| 日日骚欧美日韩| 午夜视频在线瓜伦| 日韩极品在线观看| 日韩一级理论片| 日韩国产欧美视频| 免费看黄色一级大片| 久久亚洲精选| 国产又大又黄又粗的视频| 久久午夜精品| 嫩草av久久伊人妇女超级a| 日韩精品一卡二卡三卡四卡无卡| 女人扒开屁股爽桶30分钟| 亚洲综合社区| 国产偷人视频免费| 免费在线观看视频一区| 欧美在线aaa| 狠狠色狠狠色综合| 国产老头和老头xxxx×| 国产成人自拍网| 亚洲精品国产成人av在线| 91色在线porny| 国产免费一区二区三区网站免费| 欧美国产精品v| 国产精品白丝喷水在线观看| 一区二区三区在线视频播放| 精品少妇久久久| 欧美网站在线观看| 亚洲午夜在线播放| 欧美一区二区观看视频| 亚洲乱色熟女一区二区三区| 亚洲精品美女在线观看| 欧美黄色小说| 久久视频在线播放| 91禁在线看| 国产精品国产三级国产aⅴ9色| 欧美v亚洲v综合v国产v仙踪林| 亚洲自拍偷拍网址| 丝袜久久网站| 亚洲一卡二卡区| 在线 亚洲欧美在线综合一区| 女性女同性aⅴ免费观女性恋| 日本欧美在线观看| 日本一区二区免费视频| 久久久久亚洲综合| 精品无码久久久久成人漫画| 婷婷开心激情综合| 国产又粗又猛又黄又爽无遮挡| 日韩精品一区二区三区四区视频| 嫩草研究院在线观看| xxxx性欧美| 涩涩视频在线| 91老司机精品视频| 九九精品在线| 国产香蕉一区二区三区| 亚洲一区二区三区高清| 在线视频一二区| 国产网站一区二区| 国产在线拍揄自揄拍无码视频| 在线免费观看日韩欧美| 不卡av中文字幕| 日韩中文在线中文网三级| 182在线视频观看| 91欧美精品午夜性色福利在线 | 高清视频一区二区| 欧美日韩国产黄色| 婷婷一区二区三区| 国内老熟妇对白hdxxxx| 亚洲偷欧美偷国内偷| 51漫画成人app入口| 成人网在线免费观看| 国产乱码精品一区二区三区四区| 国产一级大片免费看| 麻豆精品国产91久久久久久| 亚洲永久无码7777kkk| 亚洲黄色av一区| 97免费观看视频| 亚洲图片制服诱惑| 看黄在线观看| www.久久久| 欧美久久一区| 国产精品久久久久久久99| 中日韩av电影| 自拍偷拍18p| 日韩av综合中文字幕| 波多野结衣在线观看| 亚洲永久免费观看| 自拍偷拍欧美专区| 亚洲 国产 图片| 国产精品久久久久aaaa| 国产精品无码粉嫩小泬| 亚洲精品丝袜日韩| xx欧美视频| 欧美二区在线看| 免费在线播放第一区高清av| 特级西西人体wwwww| 午夜久久久久久久久| 日本国产在线观看| 69视频在线免费观看| 国产毛片精品| 日本少妇高潮喷水视频| 成人国产精品视频| 日本一二三区视频| 亚洲激情视频在线播放| 黄色在线免费观看网站| 精品久久久久久亚洲| 性8sex亚洲区入口| 丰满少妇一区二区| 日本韩国欧美国产| 97人人在线| 国产日韩欧美综合| 欧美一区二区| 在线播放第一页| 午夜精品aaa| 欧美日韩免费做爰大片| 国产精品1234| 成人无号精品一区二区三区| 国产一二三区av| 亚洲欧美一区二区不卡| 精品人妻久久久久一区二区三区 | 黄色国产一级视频| 91美女片黄在线观看| 国产一级一级国产| 中文字幕亚洲欧美一区二区三区| 欧美a视频在线| 国产人妻互换一区二区| 成人午夜在线视频| 一区二区三区在线观看av| 在线精品国产欧美| 国产精品一区二区精品视频观看 | 婷婷激情四射网| 日韩精品一区二区三区视频在线观看 | 亚洲资源网你懂的| 中文字幕av专区| 樱桃视频在线观看一区| 午夜视频福利在线观看| 国产精品9999| 自拍日韩欧美| 成人网站免费观看| 欧美日韩你懂的| 青草在线视频| 日韩资源av在线| 国内一区二区视频| 国产精品国产三级国产专区52| 在线日韩日本国产亚洲| 天堂va欧美ⅴa亚洲va一国产| 男人靠女人免费视频网站| 国产精品久久久一本精品| 日本韩国在线观看| 国产欧美日韩免费| 日韩视频久久| 少妇视频一区二区| 日韩精品免费在线视频| 亚洲精品一区二区在线播放∴| 男人的天堂狠狠干| 亚洲欧美在线高清| 青青青草原在线| 99久久精品久久久久久ai换脸| 免费视频一区| 久久在线视频精品| 深夜福利亚洲导航| 亚洲激情77| 色欲欲www成人网站| 欧美日韩国产综合一区二区三区| 啊啊啊久久久| www.69av|