精品欧美一区二区三区在线观看 _久久久久国色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电影国产| 亚洲毛片在线观看| 国产一级爱c视频| 日本精品专区| 久久99精品久久久久久久久久久久 | 日韩在线观看你懂的| 精品人妻一区二区三区免费| 国产三级电影在线播放| 中文字幕av在线一区二区三区| 91最新在线免费观看| 黄色片免费观看视频| 国产精品99一区二区三| 日韩电影中文字幕在线| 不用播放器的免费av| 国产高潮在线| 亚洲精品乱码久久久久| 日本一区二区三区免费观看| 精品人妻一区二区三区三区四区 | 丰满岳乱妇国产精品一区| 天堂在线亚洲视频| 久久久久久美女| 少妇高潮一区二区三区喷水| 亚洲动漫在线观看| 精品成人在线观看| 91在线第一页| 国产精品久久久久77777丨| 亚洲va欧美va国产va天堂影院| 一区二区免费在线观看| 美女欧美视频在线观看免费| 成人在线视频一区| 91久久夜色精品国产网站| 中文字幕在线欧美| 亚洲免费精品| 久久久亚洲福利精品午夜| www.99re6| 国产一区二区三区不卡视频网站| 精品毛片乱码1区2区3区| 国产一伦一伦一伦| 色戒汤唯在线观看| 亚洲超碰精品一区二区| 国产一区二区三区小说| 2021国产在线| 一区2区3区在线看| 久久久久久久久影视| 老司机精品视频在线观看6| 国产片一区二区三区| 日本精品一区二区| 黄色在线观看网| 国产亚洲人成网站| 日韩在线电影一区| 99视频在线观看地址| 99精品国产99久久久久久白柏| 国产高清一区视频| 少妇喷水在线观看| 91网页版在线| 欧美日韩一区二区三区免费| 成全电影播放在线观看国语| 欧美国产精品中文字幕| 亚洲二区自拍| 毛片免费不卡| 亚洲欧美日本在线| 国产激情片在线观看| 黄色动漫在线观看| 一区二区在线观看视频在线观看| 成人高清dvd| 成人爽a毛片免费啪啪动漫| 亚洲成人免费影院| 91免费视频网站在线观看| 日韩精品99| 欧美日韩久久久一区| 亚洲自拍第三页| 91精品啪在线观看国产爱臀| 亚洲精品成人久久| 国产91丝袜美女在线播放| 天天久久综合| 久久久久久九九九| 极品国产91在线网站| 久久精品国产亚洲a| 91在线免费观看网站| 亚洲精品久久久久久无码色欲四季 | 青青草免费在线| 中文字幕在线一区二区三区| 91精品国产毛片武则天| 色在线视频观看| 欧美在线视频全部完| 天堂av手机在线| 国内精品国产成人国产三级粉色 | av男人的天堂在线| 亚洲欧美日韩精品久久久久| 老太脱裤让老头玩ⅹxxxx| av在线日韩| 欧美xxxx在线观看| 黄色aaa视频| 综合视频在线| 浅井舞香一区二区| 国产日产亚洲系列最新| 91在线视频播放地址| 日韩精品久久一区| 性xxxxfjsxxxxx欧美| 欧美性猛交xxxx| 九九九久久久久久久| 精品黄色一级片| 久久久久久午夜| 国产一区二区波多野结衣| 99精品视频在线免费观看| 影音先锋欧美在线| 亚洲欧美se| 欧美成人精品福利| 很污很黄的网站| 亚洲一区一卡| 超碰97人人在线| 香蕉视频免费在线播放| 福利视频导航一区| 亚洲少妇一区二区三区| 久久要要av| 国产99久久久欧美黑人| 蜜臀av午夜精品| 亚洲免费三区一区二区| 亚洲黄色小视频在线观看| 婷婷五月色综合香五月| 欧美—级a级欧美特级ar全黄| 中文字幕在线观看欧美| 91天堂素人约啪| 欧美成人免费在线观看视频| 国产一区二区三区免费观看在线 | 日本美女久久| 国产丝袜一区二区三区免费视频| 久久这里只有精品国产| 国产一区二区福利视频| 亚洲啪啪av| 四虎影视4hu4虎成人| 亚洲韩国日本中文字幕| 久久综合综合久久| 国产福利91精品一区二区三区| 一个色的综合| 日韩伦理一区二区| 中文字幕在线国产精品| 老熟妇一区二区三区啪啪| 久久精品人人做人人综合 | 播放一区二区| 亚洲人成网站在线播| 狠狠人妻久久久久久| 91在线看国产| 久久婷婷五月综合色国产香蕉| 奇米影视777在线欧美电影观看 | 性生活免费观看视频| 日韩国产一二三区| 日韩视频免费看| 中文字幕 亚洲视频| 国产日韩亚洲欧美综合| 成人免费视频久久| 日韩欧美视频| 91社区国产高清| 午夜成年人在线免费视频| 日韩视频在线你懂得| 国产精品日日夜夜| 91在线porny国产在线看| 欧美三级一级片| 国产成人3p视频免费观看| 国产精品爱啪在线线免费观看| 国产鲁鲁视频在线观看免费| 欧美日本在线观看| 欧美成人免费看| 播五月开心婷婷综合| 97av视频在线观看| 欧美少妇性xxxx| 成人性生交大片免费看小说| 亚洲区欧洲区| 日韩av在线播放资源| 夜夜爽妓女8888视频免费观看| 国产精品理论片| 深夜视频在线观看| 国产精品亚洲综合色区韩国| 视频一区二区三| 精品久久久久久久久久岛国gif| 欧美激情欧美激情| 美女欧美视频在线观看免费 | 日韩精品无码一区二区三区久久久| 天堂蜜桃一区二区三区| 伊人av成人| 超碰在线成人| 国产精品久久久久久网站| 成人直播在线| 日韩黄色高清视频| 亚洲无码精品国产| 亚洲一区二区三区在线| 免费看黄色的视频| 国产精品资源网| 国产xxxxx在线观看| 天天插综合网| 欧洲精品国产| jazzjazz国产精品麻豆| 国产成人精品久久久| www免费视频观看在线| 亚洲码在线观看| 午夜精品小视频| 欧美性色aⅴ视频一区日韩精品| 久久久久久欧美精品se一二三四| 国产亚洲制服色| 美女伦理水蜜桃4| 另类小说视频一区二区| 波多野结衣之无限发射| 一本到12不卡视频在线dvd| 青娱乐一区二区| av动漫精品一区二区| 国产精品久久久久久久久久| 91视频欧美| 久久伊人精品视频| 国产在线观看黄| 亚洲精品久久久久中文字幕二区| 国产剧情精品在线| 欧美中文字幕亚洲一区二区va在线| 日韩经典在线观看| 一区二区三区久久| 国产精品99久久久久久成人| 久久久91精品国产一区二区精品| 师生出轨h灌满了1v1| 精品一区二区三区免费视频| 国产成人无码一二三区视频| 精品999日本| 在线观看污视频| 国产韩国精品一区二区三区| 日韩精品不卡| 国内精品久久久久久久久电影网 | 日韩电影二区| 欧美亚洲免费高清在线观看 | 亚洲成人久久久久| 精品国产九九九| 91精品国产一区二区三区 | 精品一区二区三区在线播放视频| 丁香啪啪综合成人亚洲| 国产欧美日韩亚洲一区二区三区| 国产手机免费视频| 狠狠色狠狠色综合日日tαg| 国产精品一二三在线观看| 99视频精品全国免费| 在线无限看免费粉色视频| 欧美呦呦网站| 亚洲一区二区三区色| 菠萝蜜一区二区| 亚洲最新在线| 五月久久久综合一区二区小说| 伊人久久大香线蕉综合75| 97偷自拍亚洲综合二区| 中文字幕一区二区中文字幕| 91久久国产| 久久www视频| 亚洲国产专区| 黄色免费视频大全| 久久久久中文| 国产嫩草在线观看| 久久91精品国产91久久小草| 日本77777| 国产成人综合亚洲91猫咪| 99riav国产精品视频| heyzo一本久久综合| 黄色国产在线观看| 国产婷婷色一区二区三区| 天天操天天干天天操天天干| 日本一区二区三区免费乱视频| 人成免费在线视频| 亚洲另类在线制服丝袜| 动漫精品一区一码二码三码四码| 午夜精品久久久久久久99水蜜桃| www.国产成人| 欧美视频一区在线观看| 国产女人18毛片水18精| 亚洲第一视频网| 韩国中文免费在线视频| 久久久97精品| 多野结衣av一区| 国产精品久久久久久久久男| 国产不卡精品在线| 国产亚洲自拍偷拍| 精品美女在线视频| 五月天在线免费视频| 99精品欧美| 一本色道久久亚洲综合精品蜜桃 | 91免费在线看片| 亚洲永久免费av| 国产男人搡女人免费视频| 欧美一区二区三区视频| 午夜福利理论片在线观看| 日韩视频在线免费观看| 国产极品人妖在线观看| 国产精品igao视频| 亚洲精品影片| 视频三区二区一区| 亚洲日韩视频| 五月天婷婷影视| www国产亚洲精品久久麻豆| 日韩在线不卡av| 色综合久久久网| www.好吊色| 中文字幕成人在线| av资源网在线播放| 成人精品在线视频| 九九在线精品| 欧美一级免费播放| 久久99精品国产麻豆婷婷| 国产乱了高清露脸对白| 中文字幕一区日韩精品欧美| 97超碰人人干| 欧美成人三级在线| 黄网站在线播放| 国产ts人妖一区二区三区| 亚洲日本va| 性做爰过程免费播放| 日韩精品一区第一页| 久久久久成人精品无码中文字幕| 国产精品美日韩| 中文字幕精品视频在线观看| 精品国产乱码91久久久久久网站| 看黄网站在线观看| 国产精品爽黄69天堂a| 日本中文字幕在线一区| 精品一二三四五区| 国产乱码一区二区三区| 久久精品色妇熟妇丰满人妻| 色综合久久天天综合网| 清纯唯美亚洲色图| 国语自产精品视频在线看| 日韩精品免费视频一区二区三区 | 另类小说综合网| 亚洲无吗在线| 日本在线视频播放| 亚洲欧洲日产国产综合网| 国产精品国产精品国产| 亚洲天堂开心观看| 亚洲永久av| 久久日韩精品| 在线综合亚洲| 亚洲一区二区乱码| 五月激情丁香一区二区三区| 丰满人妻一区二区三区免费视频| 欧美成人h版在线观看| 自拍偷拍亚洲| 潘金莲一级淫片aaaaaa播放1| 另类欧美日韩国产在线| 人与动物性xxxx| 欧美一区二区视频在线观看| 免费黄色在线网站| 成人网址在线观看| 一区二区蜜桃| 国产黑丝在线视频| 亚洲香肠在线观看| 日批视频免费播放| 2019中文字幕免费视频| 亚洲v天堂v手机在线| 免费av网址在线| 国产女人aaa级久久久级| 中文字幕永久免费视频| 日韩在线免费高清视频| 亚洲欧美综合久久久久久v动漫| 日韩最新中文字幕| 成人午夜av在线| 亚洲久久在线观看| 在线播放精品一区二区三区 | 蜜臀a∨国产成人精品| 国产7777777| 欧美一区三区四区| heyzo一区| 日本日本精品二区免费| 久久国产精品99久久人人澡| 人妻人人澡人人添人人爽| 欧美一级在线视频| 免费看男女www网站入口在线| 欧美日韩一区综合| 久久er精品视频| 国产亚洲成人av| 亚洲欧美在线免费| 欧美成人家庭影院| 少妇大叫太大太粗太爽了a片小说| www.激情成人| 中文字幕人妻色偷偷久久| 九色成人免费视频| 婷婷亚洲精品| www.成人黄色| 偷偷要91色婷婷| 91精品国产91久久久久游泳池 | 亚洲天堂精品视频| 日本黄色大片视频| 国产精品亚洲精品| 亚洲高清二区| 久久视频一区二区三区| 精品粉嫩aⅴ一区二区三区四区 | 色噜噜偷拍精品综合在线| 免费成人黄色| 久久久水蜜桃| 国产一二三精品| 男人天堂视频在线| 久久久日本电影| 欧美丰满老妇| 人妻熟女aⅴ一区二区三区汇编| 欧美猛男男办公室激情| 偷拍自拍在线看| www国产无套内射com| 中文字幕免费观看一区| 少妇人妻偷人精品一区二区| 国产精品永久在线|