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

騰訊二面:Redis 事務支持 ACID 么?

數據庫 其他數據庫 Redis
事務(Transaction)是并發(fā)控制單位,一個操作序列組合而成,這些操作要么都執(zhí)行,要么都不執(zhí)行。是一個不可分割的工作單位。

[[429467]]

什么是事務的 ACID

鬼吹燈之《云南蟲谷》中的摸金校尉有句話叫「合則生,分則死」,為了尋找雮塵珠他們三人分工明確、齊心協(xié)力共進退方可成功。

事務(Transaction)是并發(fā)控制單位,一個操作序列組合而成,這些操作要么都執(zhí)行,要么都不執(zhí)行。

「是一個不可分割的工作單位」。

事務在執(zhí)行時,會提供專門的屬性保證:

原子性(Atomicity):一個事務的多個操作必須完成,或者都不完成(ps:MySQL 的原子性靠什么實現(xiàn)呢?

一致性(Consistency):事務執(zhí)行結束后,數據庫的完整性約束沒有被破壞,事務執(zhí)行的前后順序都是合法數據狀態(tài)。

數據庫的完整性約束包括但不限于:

  • 實體完整性(如行的主鍵存在且唯一);
  • 列完整性(如字段的類型、大小、長度要符合要求)
  • 外鍵約束;
  • 用戶自定義完整性(如轉賬前后,兩個賬戶余額的和應該不變)。

隔離性(Isolation):事務內部的操作與其他事務是隔離的,并發(fā)執(zhí)行的各個事務之間不能互相干擾。

講究的是不同事務之間的相互影響,嚴格的隔離性對應隔離級別中的可串行化(Serializable)。

持久性(Durability):事務一旦提交,所有的修改將永久的保存到數據庫中,即使系統(tǒng)崩潰重啟后數據也不會丟失。

碼哥,了解了 ACID 的具體要求后,Redis 是如何實現(xiàn)事務機制呢?

Redis 如何實現(xiàn)事務

MULTI、EXEC、DISCARD 和 WATCH 命令是 Redis 實現(xiàn)事務的的基礎。

Redis 事務的執(zhí)行過程包含三個步驟:

  1. 開啟事務;
  2. 命令入隊;
  3. 執(zhí)行事務或丟棄;

顯式開啟一個事務

客戶端通過 MULTI 命令顯式地表示開啟一個事務,隨后的命令將排隊緩存,并不會實際執(zhí)行。

命令入隊

客戶端把事務中的要執(zhí)行的一系列指令發(fā)送到服務端。

需要注意的是,雖然指令發(fā)送到服務端,但是 Redis 實例只是把這一系列指令暫存在一個命令隊列中,并不會立刻執(zhí)行。

執(zhí)行事務或丟棄

客戶端向服務端發(fā)送提交或者丟棄事務的命令,讓 Redis 執(zhí)行第二步中發(fā)送的具體指令或者清空隊列命令,放棄執(zhí)行。

Redis 只需在調用 EXEC 時,即可安排隊列命令執(zhí)行。

也可通過 DISCARD 丟棄第二步中保存在隊列中的命令。

Redis 事務案例

通過在線調試網站執(zhí)行我們的樣例代碼:https://try.redis.io

正常執(zhí)行

通過 MULTI 和 EXEC 執(zhí)行一個事務過程:

  1. # 開啟事務 
  2. > MULTI 
  3. OK 
  4. # 開始定義一些列指令 
  5. SET “公眾號:碼哥字節(jié)” "粉絲 100 萬" 
  6. QUEUED 
  7. SET "order" "30" 
  8. QUEUED 
  9. SET "文章數" 666 
  10. QUEUED 
  11. > GET "文章數" 
  12. QUEUED 
  13. # 實際執(zhí)行事務 
  14. EXEC 
  15. 1) OK 
  16. 2) OK 
  17. 3) OK 
  18. 4) "666" 

我們看到每個讀寫指令執(zhí)行后的返回結果都是 QUEUED,表示謝謝操作都被暫存到了命令隊列,還沒有實際執(zhí)行。

當執(zhí)行了 EXEC 命令,就可以看到具體每個指令的響應數據。

放棄事務

通過 MULTI 和 DISCARD丟棄隊列命令:

  1. # 初始化訂單數 
  2. SET "order:mobile" 100 
  3. OK 
  4. # 開啟事務 
  5. > MULTI 
  6. OK 
  7. # 訂單 - 1 
  8. > DECR "order:mobile" 
  9. QUEUED 
  10. # 丟棄丟列命令 
  11. > DISCARD 
  12. OK 
  13. # 數據沒有被修改 
  14. > GET "order:mobile" 
  15. "100" 

碼哥,Redis 的事務能保證 ACID 特性么?

這個問題問得好,我們一起來分析下。

Redis 事務滿足 ACID?

Redis 事務可以一次執(zhí)行多個命令, 并且?guī)в幸韵氯齻€重要的保證:

  1. 批量指令在執(zhí)行 EXEC 命令之前會放入隊列暫存;
  2. 收到 EXEC 命令后進入事務執(zhí)行,事務中任意命令執(zhí)行失敗,其余的命令依然被執(zhí)行;
  3. 事務執(zhí)行過程中,其他客戶端提交的命令不會插入到當前命令執(zhí)行的序列中。

原子性

碼哥,如果事務執(zhí)行過程中發(fā)生錯誤了,原子性能保證么?

在事務期間,可能遇到兩種命令錯誤:

在執(zhí)行 EXEC 命令前,發(fā)送的指令本身就錯誤。如下:

  • 參數數量錯誤;
  • 命令名稱錯誤,使用了不存在的命令;
  • 內存不足(Redis 實例使用 maxmemory指令配置內存限制)。

在執(zhí)行 EXEC 命令后,命令可能會失敗。例如,命令和操作的數據類型不匹配(對 String 類型 的 value 執(zhí)行了 List 列表操作);

在執(zhí)行事務的 EXEC 命令時。Redis 實例發(fā)生了故障導致事務執(zhí)行失敗。

EXEC 執(zhí)行前報錯

在命令入隊時,Redis 就會報錯并且記錄下這個錯誤。

此時,我們還能繼續(xù)提交命令操作。

等到執(zhí)行了 EXEC命令之后,Redis 就會拒絕執(zhí)行所有提交的命令操作,返回事務失敗的結果。

這樣一來,事務中的所有命令都不會再被執(zhí)行了,保證了原子性。

如下是指令入隊發(fā)生錯誤,導致事務失敗的例子:

  1. #開啟事務 
  2. > MULTI 
  3. OK 
  4. #發(fā)送事務中的第一個操作,但是Redis不支持該命令,返回報錯信息 
  5. 127.0.0.1:6379> PUT order 6 
  6. (error) ERR unknown command `PUT`, with args beginning with: `order`, `6`, 
  7. #發(fā)送事務中的第二個操作,這個操作是正確的命令,Redis把該命令入隊 
  8. > DECR b:stock 
  9. QUEUED 
  10. #實際執(zhí)行事務,但是之前命令有錯誤,所以Redis拒絕執(zhí)行 
  11. EXEC 
  12. (error) EXECABORT Transaction discarded because of previous errors. 

EXEC 執(zhí)行后報錯

事務操作入隊時,命令和操作的數據類型不匹配,但 Redis 實例沒有檢查出錯誤。

但是,在執(zhí)行完 EXEC 命令以后,Redis 實際執(zhí)行這些指令,就會報錯。

敲黑板了:Redis 雖然會對錯誤指令報錯,但是事務依然會把正確的命令執(zhí)行完,這時候事務的原子性就無法保證了!

碼哥,為什么 Redis 不支持回滾?

其實,Redis 中并沒有提供回滾機制。雖然 Redis 提供了 DISCARD 命令。

但是,這個命令只能用來主動放棄事務執(zhí)行,把暫存的命令隊列清空,起不到回滾的效果。

EXEC 執(zhí)行時,發(fā)生故障

如果 Redis 開啟了 AOF 日志,那么,只會有部分的事務操作被記錄到 AOF 日志中。

我們需要使用 redis-check-aof 工具檢查 AOF 日志文件,這個工具可以把未完成的事務操作從 AOF 文件中去除。

這樣一來,我們使用 AOF 恢復實例后,事務操作不會再被執(zhí)行,從而保證了原子性。

簡單總結:

  • 命令入隊時就報錯,會放棄事務執(zhí)行,保證原子性;
  • 命令入隊時沒報錯,實際執(zhí)行時報錯,不保證原子性;
  • EXEC 命令執(zhí)行時實例故障,如果開啟了 AOF 日志,可以保證原子性。

一致性

一致性會受到錯誤命令、實例故障發(fā)生時機的影響,按照命令出錯實例故障兩個維度的發(fā)生時機,可以分三種情況分析。

EXEC 執(zhí)行前,入隊報錯

事務會被放棄執(zhí)行,所以可以保證一致性。

EXEC 執(zhí)行后,實際執(zhí)行時報錯

有錯誤的執(zhí)行不會執(zhí)行,正確的指令可以正常執(zhí)行,一致性可以保證。

EXEC 執(zhí)行時,實例故障

實例故障后會進行重啟,這就和數據恢復的方式有關了,我們要根據實例是否開啟了 RDB 或 AOF 來分情況討論下。

如果我們沒有開啟 RDB 或 AOF,那么,實例故障重啟后,數據都沒有了,數據庫是一致的。

如果我們使用了 RDB 快照,因為 RDB 快照不會在事務執(zhí)行時執(zhí)行。

所以,事務命令操作的結果不會被保存到 RDB 快照中,使用 RDB 快照進行恢復時,數據庫里的數據也是一致的。

如果我們使用了 AOF 日志,而事務操作還沒有被記錄到 AOF 日志時,實例就發(fā)生了故障,那么,使用 AOF 日志恢復的數據庫數據是一致的。

如果只有部分操作被記錄到了 AOF 日志,我們可以使用 redis-check-aof 清除事務中已經完成的操作,數據庫恢復后也是一致的。

隔離性

事務執(zhí)行又可以分成命令入隊(EXEC 命令執(zhí)行前)和命令實際執(zhí)行(EXEC 命令執(zhí)行后)兩個階段。

所以在并發(fā)執(zhí)行的時候我們針對這兩個階段分兩種情況分析:

  1. 并發(fā)操作在 EXEC 命令前執(zhí)行,隔離性需要通過 WATCH 機制保證;
  2. 并發(fā)操作在 EXEC 命令之后,隔離性可以保證。

碼哥,什么是 WATCH 機制?

我們重點來看第一種情況:一個事務的 EXEC 命令還沒有執(zhí)行時,事務的命令操作是暫存在命令隊列中的。

此時,如果有其它的并發(fā)操作,同樣的 key 被修改,需要看事務是否使用了 WATCH 機制。

WATCH 機制的作用是:在事務執(zhí)行前,監(jiān)控一個或多個鍵的值變化情況,當事務調用 EXEC 命令執(zhí)行時,WATCH 機制會先檢查監(jiān)控的鍵是否被其它客戶端修改了。

如果修改了,就放棄事務執(zhí)行,避免事務的隔離性被破壞。

同時,客戶端可以再次執(zhí)行事務,此時,如果沒有并發(fā)修改事務數據的操作了,事務就能正常執(zhí)行,隔離性也得到了保證。

沒有 WATCH

如果沒有 WATCH 機制, 在 EXEC 命令執(zhí)行前的并發(fā)操作對數據讀寫。

當執(zhí)行 EXEC 的時候,事務內部要操作的數據已經改變,Redis 并沒有做到事務之間的隔離。

并發(fā)操作在 EXEC 之后接收執(zhí)行

至于第二種情況,因為 Redis 是用單線程執(zhí)行命令,而且,EXEC 命令執(zhí)行后,Redis 會保證先把命令隊列中的所有命令執(zhí)行完再執(zhí)行之后的指令。

所以,在這種情況下,并發(fā)操作不會破壞事務的隔離性。

持久性

如果 Redis 沒有使用 RDB 或 AOF,那么事務的持久化屬性肯定得不到保證。

如果 Redis 使用了 RDB 模式,那么,在一個事務執(zhí)行后,而下一次的 RDB 快照還未執(zhí)行前,如果發(fā)生了實例宕機,數據丟失,這種情況下,事務修改的數據也是不能保證持久化的。

如果 Redis 采用了 AOF 模式,因為 AOF 模式的三種配置選項 no、everysec 和 always 都會存在數據丟失的情況。

所以,事務的持久性屬性也還是得不到保證。

不管 Redis 采用什么持久化模式,事務的持久性屬性是得不到保證的。

總結

  • Redis 具備了一定的原子性,但不支持回滾。
  • Redis 不具備 ACID 中一致性的概念。(或者說 Redis 在設計時就無視這點)
  • Redis 具備隔離性。
  • Redis 無法保證持久性。

Redis 的事務機制可以保證一致性和隔離性,但是無法保證持久性。

不過,因為 Redis 本身是內存數據庫,持久性并不是一個必須的屬性,我們更加關注的還是原子性、一致性和隔離性這三個屬性。

原子性的情況比較復雜,當事務中使用的命令語法有誤時,原子性得不到保證,在其它情況下,事務都可以原子性執(zhí)行。

本文轉載自微信公眾號「碼哥字節(jié)」

 

責任編輯:姜華 來源: 碼哥字節(jié)
相關推薦

2023-04-27 14:39:57

騰訊C++后端

2020-02-13 10:14:11

MySQL事務ACID

2024-03-15 11:59:25

SQL數據庫ACID

2021-11-30 07:51:29

共享內存進程

2024-12-02 08:37:04

2018-03-01 14:58:55

MongoDB數據庫NoSQL

2024-06-19 10:49:57

LombokJava

2024-07-10 12:23:10

2010-09-08 15:55:20

SQL事務特性

2024-05-11 07:48:46

騰訊抽象耦合度

2021-11-02 11:35:17

通信進程面試

2023-01-05 12:30:32

Redis

2023-11-27 13:18:00

Redis數據不丟失

2025-04-21 03:03:00

2023-04-03 10:24:00

spring事務場景

2023-05-05 08:08:06

JavaRedis事務

2019-04-03 09:27:01

MySQLInnoDB務ACID

2021-11-29 07:24:08

ACID事務大數據

2025-07-21 09:02:45

2023-04-03 07:57:00

點贊
收藏

51CTO技術棧公眾號

免费在线黄色影片| 国产av 一区二区三区| 韩国成人动漫| 中文字幕视频一区| 成人综合av网| av片免费观看| 欧美久久成人| 欲色天天网综合久久| 最新中文字幕日本| 成人全视频免费观看在线看| 久久久久久久网站| 2022亚洲天堂| 国产在线一区二区视频| 91亚洲精品乱码久久久久久蜜桃| 国产精品手机播放| 国产又色又爽又黄的| 日韩中文欧美| 亚洲欧美在线一区二区| 无码国产精品久久一区免费| av在线播放一区| 亚洲成人综合在线| 久久久国产精华液999999| 香蕉视频911| 黄页视频在线91| 国产成人高潮免费观看精品| 动漫精品一区一码二码三码四码| 91亚洲一区| 亚洲男人天堂古典| 无码成人精品区在线观看| 91麻豆精品国产综合久久久| 色偷偷久久人人79超碰人人澡| 国产一区 在线播放| caoporn国产精品免费视频| 99精品1区2区| 国产三区精品| 性生活免费网站| 加勒比av一区二区| 国产精品视频999| 丰满熟女人妻一区二区三| 亚洲国内自拍| 国内精品小视频| 久久精品这里只有精品| 一区二区免费不卡在线| 最新的欧美黄色| 1024在线看片| 日韩激情在线| 在线播放精品一区二区三区| 怡红院一区二区三区| 免费成人网www| 亚洲免费精彩视频| 粉嫩av蜜桃av蜜臀av| 日韩黄色网络| 日韩精品极品在线观看播放免费视频| 四季av综合网站| 久久91在线| 日韩精品有码在线观看| 免费人成又黄又爽又色| 欧美精品系列| 日韩在线中文视频| 日韩一区二区三区四区在线| 午夜精品久久99蜜桃的功能介绍| 欧美美女15p| 国产一级特黄a高潮片| av成人国产| 热门国产精品亚洲第一区在线| 欧美男人亚洲天堂| 久久国产夜色精品鲁鲁99| 国产日韩在线看片| 亚洲精品喷潮一区二区三区| 99久久精品免费观看| 欧美日韩一区在线视频| caoporn国产精品免费视频| 亚洲三级电影全部在线观看高清| 91看片淫黄大片91| 国产理论在线| 色婷婷综合视频在线观看| 国产91色在线观看| 日韩高清一区| 国产午夜精品久久久| 国产精品av久久久久久无| 999成人网| 欧美黄色片在线观看| www.国产com| 黄页视频在线91| 精品国产免费一区二区三区| 98在线视频| 亚洲国产精品尤物yw在线观看| 日av中文字幕| 亚洲成人影音| 国产一区二区日韩| 欧美丰满艳妇bbwbbw| 先锋影音国产一区| 91久久极品少妇xxxxⅹ软件| 日本a一级在线免费播放| 中文字幕一区日韩精品欧美| 777av视频| 日本午夜免费一区二区| 日韩成人激情视频| 欧美一区免费观看| 久久av一区二区三区| 亚洲综合在线做性| 国产系列电影在线播放网址| 亚洲在线一区二区三区| av污在线观看| 一区二区导航| 九九久久国产精品| 国内av在线播放| 成人高清视频在线观看| 综合一区中文字幕| av有声小说一区二区三区| 日韩亚洲欧美高清| 免费一级特黄3大片视频| 精品1区2区3区4区| 91久热免费在线视频| 高清在线观看av| 精品国产乱码久久久久久虫虫漫画| www.色欧美| 精品香蕉视频| 热re99久久精品国产66热| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 国产激情av在线| 亚洲国产日本| 岛国视频一区免费观看| 黄色免费在线看| 欧美性大战久久久| 亚洲成人网在线播放| 影音国产精品| 国产精品久久久久av福利动漫| 国产激情在线视频| 欧美高清视频在线高清观看mv色露露十八| 国产熟女一区二区| 久久精品二区三区| 欧美极品日韩| 波多野结衣亚洲| 日韩精品视频免费| 国产无遮挡呻吟娇喘视频| 成人成人成人在线视频| 国产免费裸体视频| av综合网址| 欧美老妇交乱视频| 国内老熟妇对白xxxxhd| 亚洲精品午夜久久久| 韩国三级丰满少妇高潮| 在线成人激情| 波多野结衣一区二区三区在线观看| 麻豆传媒在线免费| 欧美一级黄色录像| 麻豆亚洲av成人无码久久精品| 国产成人一级电影| aa视频在线播放| 老司机精品在线| 欧美性做爰毛片| 久久手机免费观看| 欧美在线综合视频| 国产又粗又猛又爽又黄的视频四季| 日本va欧美va瓶| 天堂av免费看| xvideos.蜜桃一区二区| 992tv在线成人免费观看| 性xxxx18| 欧美午夜宅男影院| 国产麻豆视频在线观看| 国产高清久久久| 91九色丨porny丨国产jk| 香蕉一区二区| 国产精品日韩专区| а√中文在线8| 亚洲国产小视频在线观看| 久久久成人免费视频| 国产精品国产馆在线真实露脸| 亚洲国产欧美91| 亚洲永久字幕| 一区二区三区四区视频在线| 日本一区二区三区视频在线看 | 91丨九色丨蝌蚪丨对白| 一区二区三区在线观看视频| av黄色一级片| 免费观看在线综合| 特级西西444| 亚州综合一区| 91久久久久久国产精品| ****av在线网毛片| 中文字幕在线观看亚洲| 欧美经典一区二区三区| 色一情一乱一伦一区二区三区| 亚洲精品大全| 亚洲2020天天堂在线观看| 韩国三级在线观看久| 91精品婷婷国产综合久久竹菊| 免费网站看av| 国产性做久久久久久| 日本一本在线视频| 首页国产欧美日韩丝袜| 免费cad大片在线观看| 国产乱码精品一区二区三区四区| 91免费看网站| 久久久人成影片一区二区三区在哪下载| 久久av在线播放| 美女欧美视频在线观看免费| 欧美一级专区免费大片| 国产一级淫片a视频免费观看| 亚洲另类色综合网站| 波多野结衣av在线观看| 成人黄页在线观看| 国内自拍第二页| 久久免费高清| 日韩精品视频在线观看视频| 欧美成人激情| 欧美日韩大片一区二区三区| 99久久人爽人人添人人澡| 成人精品一区二区三区电影黑人| 一本大道色婷婷在线| 欧美激情亚洲国产| 麻豆网站视频在线观看| 中文字幕欧美日韩在线| 男人天堂网在线观看| 亚洲精品成人久久电影| www.五月婷婷| 欧美二区三区的天堂| 蜜臀99久久精品久久久久小说| 激情成人中文字幕| 精品少妇爆乳无码av无码专区| 国产精品久久久久aaaa樱花 | 国产精品视频3p| 91麻豆桃色免费看| 国产精品久久久久久久久免费高清 | 国产又大又长又粗又黄| 欧美呦呦网站| 欧洲一区二区日韩在线视频观看免费 | 日韩女同一区二区三区| 26uuu另类欧美| 免费的av网站| 91网站视频在线观看| 久久久久麻豆v国产精华液好用吗| 国产精品一二三四五| 一本之道在线视频| 国产精品1区2区3区| 老司机av网站| 国产成人精品免费| 午夜视频在线免费看| 国产精品66部| 毛茸茸free性熟hd| av日韩在线网站| 小毛片在线观看| 91免费观看视频在线| 波多野结衣一本| 久久久综合视频| 国产av自拍一区| 国产精品乱码一区二区三区软件 | 欧美日韩成人在线| 在线免费观看一级片| 欧美精品一二三| 国产www免费观看| 精品国产99国产精品| 日日夜夜精品免费| 亚洲乱码国产乱码精品精| 毛片在线播放网址| 日韩在线观看免费高清完整版| 日韩在线观看www| 欧美成人性色生活仑片| 久久亚洲资源| 欧美在线视频免费播放| 成人不卡视频| 亚洲综合小说区| 台湾亚洲精品一区二区tv| 日本精品一区二区三区不卡无字幕| 成人毛片在线| 粉嫩av一区二区三区天美传媒 | 特级丰满少妇一级aaaa爱毛片| 日韩成人中文字幕| 国产高清视频在线| 欧美大尺度激情区在线播放| 超碰高清在线| 国产精品亚洲精品| 在线精品国产亚洲| 欧美一进一出视频| 亚洲精品久久久| 成熟了的熟妇毛茸茸| 麻豆高清免费国产一区| 国产在线观看免费播放| 91麻豆免费看| tube国产麻豆| 欧美视频在线免费| 中文字幕一区二区三区四区免费看| 欧美一区日韩一区| 能在线看的av| 欧美精品手机在线| 成人免费网站视频| 69174成人网| av中文一区| 国产伦精品一区二区三区四区视频_ | 中文字幕一区二区三区色视频| 久久艹精品视频| 欧美日韩亚洲综合一区二区三区| 欧美特黄一级视频| 色青青草原桃花久久综合| 色戒汤唯在线| 成人h在线播放| 欧美国产一级| 农村妇女精品一二区| 福利视频网站一区二区三区| 性爱在线免费视频| 欧美性猛交xxxx免费看| 国内精品偷拍视频| 久久精品国产欧美亚洲人人爽| 超碰一区二区| 激情视频一区二区| 亚洲欧美网站在线观看| 精品久久久久久久无码| 成人av免费网站| 九九视频免费在线观看| 制服视频三区第一页精品| 加勒比一区二区三区在线| 3344国产精品免费看| 一区二区三区免费在线看| 制服诱惑一区| 日韩av网站在线观看| 国产全是老熟女太爽了| 午夜一区二区三区在线观看| 99re只有精品| 日韩网站免费观看| 欧美97人人模人人爽人人喊视频| 茄子视频成人在线观看| 噜噜噜在线观看免费视频日韩 | 亚洲制服丝袜一区| 国产成人精品亚洲精品色欲| 日韩有码在线视频| jizz久久久久久| 五月天综合网| 蜜臀av一区二区三区| 在线观看国产精品一区| 色婷婷综合久久久中文字幕| 极品白浆推特女神在线观看| 日本高清+成人网在线观看| 亚洲a级精品| 久久久免费视频网站| 91麻豆免费在线观看| 国产无遮挡呻吟娇喘视频| 亚洲裸体xxxx| 日本免费久久| 日韩黄色影视| 免费观看日韩电影| 中文字幕在线观看二区| 欧美日本在线看| 暖暖日本在线观看| 亚洲自拍小视频| 欧美深夜福利| 国产美女视频免费观看下载软件| 午夜在线成人av| 国产在线超碰| 国产精品无av码在线观看| 国产精品久久观看| 波多野结衣三级视频| 亚洲成人动漫av| 亚洲人成色777777精品音频| 热久久这里只有| 91综合视频| 真实乱偷全部视频| 亚洲va韩国va欧美va精品| 五月婷婷丁香六月| 国产精品极品美女在线观看免费| 成人系列视频| 亚洲 自拍 另类 欧美 丝袜| 性做久久久久久免费观看欧美| 素人av在线| 欧美国产日韩精品| 国产一区二区三区不卡av| 日韩精品 欧美| 久久久精品影视| 97人妻精品一区二区三区动漫| 欧美精品免费看| 亚洲免费专区| 免费黄频在线观看| 亚洲成av人片www| 久久天堂电影| 97神马电影| 久久亚洲精选| 国产免费无码一区二区视频| 日韩av最新在线观看| 日韩精品第一| 亚洲中文字幕无码一区二区三区| av一区二区不卡| 一本一道精品欧美中文字幕| 欧美激情在线狂野欧美精品| 国产欧美日韩| 国模大尺度视频| 色噜噜夜夜夜综合网| 99福利在线| 日韩电影免费观看高清完整| 国产经典欧美精品| 激情网站在线观看| 久久久久久com| 日韩欧美一区免费| 熟女人妻在线视频| 欧美一区国产二区| 日韩制服诱惑| 尤物av无码色av无码| 日韩一区欧美一区| 黄色片免费在线| 国产一区免费在线|