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

Redis 秒殺實戰

存儲 存儲軟件 Redis
為啥寫這個微信搶紅包項目呢,公司 0202 年 08 月 22 日,公司周年慶,搶了100多紅包🧧,O(∩_∩)O哈哈~

[[340164]]

 為啥寫這個微信搶紅包項目呢,公司 0202 年 08 月 22 日,公司周年慶,搶了100多紅包🧧,O(∩_∩)O哈哈~

 

 

業務流程分析

功能拆解

新建紅包

在 DB、Redis 分別新增一條記錄

搶紅包(并發)

「使用技術」

Redis 中數據類型的 String 特性的原子遞減(DECR key)和減少指定值(DECRBY key decrement)

「業務」

  1. 請求 Redis ,當剩余紅包個數大于 0,紅包個數原子遞減,隨機獲取紅包
  2. 計算金額,當最后一個紅包時,最后一個紅包金額=總金額-總已搶紅包金額
  3. 更新數據庫

「查詢紅包記錄」

查詢 DB 即可

數據庫設計

紅包流水表

  1. CREATE TABLE `red_packet_info` ( 
  2.  `id` int(11) NOT NULL AUTO_INCREMENT, 
  3.  `red_packet_id` bigint(11) NOT NULL DEFAULT 0 COMMENT '紅包id,采⽤ 
  4. timestamp+5位隨機數', 
  5.  `total_amount` int(11) NOT NULL DEFAULT 0 COMMENT '紅包總⾦額,單位分'
  6.  `total_packet` int(11) NOT NULL DEFAULT 0 COMMENT '紅包總個數'
  7.  `remaining_amount` int(11) NOT NULL DEFAULT 0 COMMENT '剩余紅包⾦額,單位 
  8. 分', 
  9.  `remaining_packet` int(11) NOT NULL DEFAULT 0 COMMENT '剩余紅包個數'
  10.  `uid` int(20) NOT NULL DEFAULT 0 COMMENT '新建紅包⽤戶的⽤戶標識'
  11.  `create_time` timestamp COMMENT '創建時間'
  12.  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE 
  13. CURRENT_TIMESTAMP COMMENT '更新時間'
  14.  PRIMARY KEY (`id`) 
  15. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='紅包信息 
  16. 表,新建⼀個紅包插⼊⼀條記錄'; 

紅包記錄表

  1. CREATE TABLE `red_packet_record` ( 
  2.  `id` int(11) NOT NULL AUTO_INCREMENT, 
  3.  `amount` int(11) NOT NULL DEFAULT '0' COMMENT '搶到紅包的⾦額'
  4.  `nick_name` varchar(32) NOT NULL DEFAULT '0' COMMENT '搶到紅包的⽤戶的⽤戶 
  5. 名', 
  6.  `img_url` varchar(255) NOT NULL DEFAULT '0' COMMENT '搶到紅包的⽤戶的頭像'
  7.  `uid` int(20) NOT NULL DEFAULT '0' COMMENT '搶到紅包⽤戶的⽤戶標識'
  8.  `red_packet_id` bigint(11) NOT NULL DEFAULT '0' COMMENT '紅包id,采⽤ 
  9. timestamp+5位隨機數', 
  10.  `create_time` timestamp COMMENT '創建時間'
  11.  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE 
  12. CURRENT_TIMESTAMP COMMENT '更新時間'
  13.  PRIMARY KEY (`id`) 
  14. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='搶紅包記 
  15. 錄表,搶⼀個紅包插⼊⼀條記錄'; 


發紅包 API

發紅包接口開發

  • 新增一條紅包記錄
  • 往 mysql 里面添加一條紅包記錄
  • 往 redis 里面添加一條紅包數量記錄
  • 往redis里面添加一條紅包金額記錄

❝往db中就單純存入一條記錄,Service層和Mapper層,就簡單的一條sql語句,主要是提供思路,下面會附案例源碼,不要慌❞

搶紅包 API

  • 搶紅包功能屬于原子減操作
  • 當大小小于 0 時原子減失敗
  • 當紅包個數為0時,后面進來的用戶全部搶紅包失敗,并不會進入拆紅包環節
  • 搶紅包功能設計
    • 將紅包ID的請求放入請求隊列中,如果發現超過紅包的個數,直接返回
  • 注意事項
  • 搶到紅包不一定能拆成功

搶紅包算法拆解

img

通過上圖算法得出,靠前面的人,手氣最佳幾率小,手氣最佳,往往在后面

  1. 發 100 元,共 10 個紅包,那么平均值是 10 元一個,那么發出來的紅包金額在 0.01~20 元之間波動
  2. 當前面 4 個紅包總共被領了 30 元時,剩下 70 元,總共 6 個紅包,那么這 6 個紅包的金額在 0.01~23.3 元之間波動

搶紅包接口開發


 

 

「測試」

「發紅包」

 

 

模擬高并發搶紅包(Jmeter壓測工具)

因為我發了 10 個紅包,金額是 20000,使用壓測工具,模擬50個請求,只允許前10個請求能搶到紅包,并且金額等于20000。



 

 

布隆過濾器

介紹

布隆過濾器是1970年由布隆提出的。它實際上是一個很長的二進制向量和一系列隨機映射函數。布隆過濾器可以用于檢索一個元素是否在一個集合中。它的優點是空間效率和查詢時間都遠遠超過一般的算法,缺點是有一定的誤識別率和刪除困難。

優點

相比于其他的數據結構,布隆過濾器在空間和時間方面都有巨大的優勢。布隆過濾器存儲空間和插入/查詢時間都是常數。另外三列函數相互之間沒有關系,方便由硬件并行實現。布隆過濾器不需要存儲元素本身,在某些對保密要求非常嚴格的場合有優勢。

缺點

但是布隆過濾器的缺點和有點一樣明顯。誤算率是其中之一。隨著存入的元素數量增加,誤算率隨之增加。但是如果元素數量太少,則使用散列表足矣。

布隆過濾器有什么用

  1. 黑客流量攻擊:故意訪問不存在的數據,導致查程序不斷訪問DB的數據
  2. 黑客安全阻截:當黑客訪問不存在的緩存時迅速返回避免緩存及DB掛掉
  3. 網頁爬蟲對 URL 的去重,避免爬取相同的URL地址
  4. 反垃圾郵件,從數十億個垃圾郵件列表中判斷某郵件是否垃圾郵件(同理,垃圾短信)
  5. 緩存擊穿,將已存在的緩存放到布隆中,當黑客訪問不存在的緩存時迅速返回避免緩存及 DB 掛掉

布隆過濾器實現會員轉盤抽獎

需求

一個抽獎程序,只針對會員用戶有效

 

通過google布隆過濾器存儲會員數據

  1. 程序啟動時將數據放入內存中
  2. google自動創建布隆過濾器
  3. 用戶ID進來之后判斷是否是會員

 

代碼實現

 

引入依賴

  1. <dependency> 
  2.   <groupId>com.google.guava</groupId> 
  3.   <artifactId>guava</artifactId> 
  4.   <version>29.0-jre</version> 
  5. </dependency> 

數據庫會員表

  1. CREATE TABLE `sys_user` ( 
  2.  `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 
  3.  `user_name` varchar(11) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '⽤戶名'
  4.  `image` varchar(11) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '⽤戶頭像'
  5.  PRIMARY KEY (`id`) 
  6. ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; 

 

初始化布隆過濾器

dao 層和 dao 映射文件,就單純的一個 sql 查詢,看核心方法,下面會附源碼滴,不要慌好嘛

控制層

測試

缺點

  1. 內存級別產部
  2. 重啟即失效
  3. 本地內存無法用在分布式場景
  4. 不支持大數據量存儲

Redis布隆過濾器

優點

  1. 可擴展性 Bloom 過濾器
  2. 不存在重啟即失效或定時任務維護的成本

缺點

需要網絡IO,性能比基于內存的過濾器低

布隆過濾器安裝

「下載」

github:https://github.com/RedisBloom/RedisBloom

  1. 鏈接: https://pan.baidu.com/s/16DlKLm8WGFzGkoPpy8y4Aw 密碼: 25w1 

「編譯」

make

 

 

「將 Rebloom 加載到 Redis 中」

先把 Redis 給停掉!!!在 redis.conf 里面添加一行命令->加載模塊

  1. loadmodule /usr/soft/RedisBloom-2.2.4/redisbloom.so 

 

 

「測試布隆過濾器」

SpringBoot 整合 Redis 布隆過濾器

編寫兩個lua腳本

  1. 添加數據到指定名稱的布隆過濾器
  2. 從指定名稱的布隆過濾器獲取key是否存在的腳本

 


  1. local bloomName = KEYS[1] 
  2. local value = KEYS[2] 
  3. --bloomFilter 
  4. local result_1 = redis.call('BF.ADD',bloomName,value) 
  5. return result_1 

  1. local bloomName = KEYS[1] 
  2. local value = KEYS[2] 
  3. --bloomFilter 
  4. local result_1 = redis.call('BF.EXISTS',bloomName,value) 
  5. return result_1 

在 RedisService.java 中添加 2 個方法

 

 

驗證

秒殺

秒殺業務流程圖

 

 

 

 

數據落地存儲方案

  1. 通過分布式redis減庫存
  2. DB存最終訂單信息數據

API性能調優

  1. 性能瓶頸在高并發秒殺
  2. 技術難題在于超賣問題

實現步驟

提前將秒殺數據緩存到 redis

  1. set skuId_start_1 0_1554045087 --秒殺標識 
  2. set skuId_access_1 12000 --允許搶購數 
  3. set skuId_count_1 0 --搶購計數 
  4. set skuId_booked_1 0 --真實秒殺數 
  1. 秒殺開始前,skuId_start為0,代表活動未開始
  2. 當skuId_start改為1時,活動開始,開始秒殺叭
  3. 當接受下單數達到sku_count*1.2后,繼續攔截所有請求,商品剩余數量為0(為啥接受搶購數為1萬2呢,看業務流程圖,涉及到“校驗訂單信息”,一般設置的值要比總數多一點,多多少自己定)

利用 Redis 緩存加速增庫存數

  1. "skuId_booked":10000 //從0開始累加,秒殺的個數只能加到1萬 

將用戶訂單數據寫入 MQ(異步方式)。

另外一臺服務器監聽 mq,將訂單信息寫入到 DB。

好了,以上就是完整的開發步驟,下面我們開始編寫代碼

代碼實戰

網關瀏覽攔截層

1、先判斷秒殺是否已經開始

2、利用 Redis 緩存 incr 攔截流量

  • 用 incr 方法原子加
  • 通過原子加帕努單當前 skuId_access 是否達到最大值

訂單信息校驗層

1、校驗當前用戶是否已經買過這個商品

  • 需要存儲用戶的uid
  • 存數據庫效率太低
  • 存Redis value方式數據太大
  • 存布隆過濾器性能高且數據量小(推薦)

2、校驗通過直接返回搶購成功

開發lua腳本實現庫存扣除

1、庫存扣除成功,獲取當前最新庫存

2、如果庫存大于0,即馬上進行庫存扣除,并且訪問搶購成功給用戶

3、考慮原子性問題

  • 保證原子性的方式,采用 lua 腳本
  • 采用lua腳本方式保證原子性帶來缺點,性能有所下降
  • 不保證原子性缺點,放入請求量可能大于預期
  • 當前扣除庫存場景必須保證原子性,否則會導致超賣

4、返回搶購結果

搶購成功

庫存沒了,搶購失敗

控制層

 

Service 層

 

布隆過濾器

 

初始化redis緩存

 


  1. set skuId_start_1 0_1554045087 --秒殺標識 
  2. set skuId_access_1 12000 --允許搶購數 
  3. set skuId_count_1 0 --搶購計數 
  4. set skuId_booked_1 0 --真實秒殺數 

秒殺驗證

jmeter 配置

 

壓測秒殺驗證原子性

 

項目下載

 

 


 

  1. 鏈接: https://pan.baidu.com/s/1hZUPRAljkqO05fYluqJBhQ 密碼: 1iwr 

尾聲

演示的時候,我使用的 Redis 單機的,吞吐量不是很大,感興趣的,可以自己搭建個 Redis 主從復制+哨兵+集群,然后再測試。

最近比較忙,沒時間完善微信搶紅包秒殺的原子性。下面那個完整案例搶庫存的,親自使用 Jmeter 壓測幾次,是原子性的,可以拿來借鑒,感興趣的同學,可以借鑒下面搶庫存的代碼,把微信搶紅包的功能在完善下,我就不修改啦。

本文轉載自微信公眾號「Java建設者」,可以通過以下二維碼關注。轉載本文請聯系Java建設者公眾號。

 

責任編輯:武曉燕 來源: Java建設者
相關推薦

2019-07-23 13:32:13

Java開發代碼

2020-04-01 17:31:03

Redis系統秒殺

2021-12-03 10:47:28

WOT技術峰會技術

2016-01-06 10:10:25

2019-10-30 16:54:08

golangredis數據庫

2021-07-09 07:21:40

SpringBootRedisLUA

2024-11-25 09:10:03

2020-10-14 07:20:53

高并發

2025-07-21 03:11:00

2020-06-15 21:44:51

優化思路Redis秒殺功能

2025-07-28 02:22:00

2025-05-28 02:20:00

2021-07-09 09:46:25

Redis內存數據庫

2018-11-02 15:45:41

Spring BootRedis數據庫

2025-03-27 01:10:00

HashMap分段鎖CAS

2022-12-22 07:40:28

2018-11-16 09:51:07

Redis分離秒殺

2020-06-29 07:43:12

緩存RedisSpringBoot

2018-09-15 04:59:01

點贊
收藏

51CTO技術棧公眾號

国产黄在线播放| 免费一级全黄少妇性色生活片| 国产资源在线观看入口av| 91尤物视频在线观看| 国产精品91在线| 黄色录像一级片| 好吊妞国产欧美日韩免费观看网站| 欧美日韩亚洲一区二| 亚洲精品乱码视频| 亚洲欧美黄色片| 日韩电影在线一区二区| 欧美精品在线网站| 91激情视频在线观看| 日韩精品免费视频一区二区三区| 欧美日韩综合视频| 最新av在线免费观看| 日韩一区二区三区不卡| 精品一区二区三区久久久| 97视频在线免费观看| 午夜激情视频在线播放| 国内精品偷拍| 欧美精品久久一区二区三区| 日韩中文字幕三区| 新版中文在线官网| 国产精品久久久久久久岛一牛影视| 国产女主播一区二区三区| 伊人亚洲综合网| 免费在线国产| 在线成人国产| 久久伊人免费视频| 国产91丝袜美女在线播放| 欧美18xxxx| 欧美刺激午夜性久久久久久久| 欧美黄色性生活| 小视频免费在线观看| 亚洲精品国产一区二区精华液| 色一情一乱一伦一区二区三区丨| 人妻va精品va欧美va| 国产在线一区观看| 国产精品狠色婷| 日韩在线视频不卡| 国产精品亚洲综合色区韩国| 欧美精品videos| 午夜精品福利在线视频| 久久国产影院| 中文字幕精品av| 亚洲一区二区自偷自拍| 九一成人免费视频| 精品丝袜一区二区三区| 蜜臀av粉嫩av懂色av| 九九99久久精品在免费线bt| 欧美日韩电影一区| av在线网址导航| 国产精品xxx| 欧美日韩免费观看一区二区三区| 天天天干夜夜夜操| 日韩色淫视频| 欧美三级资源在线| 中文字幕第17页| 9999精品免费视频| 69av一区二区三区| 在线成人精品视频| av成人综合| 日韩成人av网址| 国产精品久久无码| 极品美女一区二区三区| 在线看国产精品| 欧美一级片在线视频| 欧美精品激情| 午夜精品久久久久久久99黑人| 日韩美女黄色片| 亚洲永久在线| 激情另类综合| 中文字幕欧美国内| 欧美一级特黄高清视频| 一区二区影视| 性欧美在线看片a免费观看 | 国产精品理伦片| 最近看过的日韩成人| bt在线麻豆视频| 亚洲成人你懂的| 少妇人妻互换不带套| 国产成+人+综合+亚洲欧美| 欧美一区二区国产| 欧亚乱熟女一区二区在线| 欧洲专线二区三区| 欧美精品性视频| 欧美h在线观看| 蜜桃视频在线一区| 国产精品国色综合久久| 国产精品99999| 亚洲精品高清在线观看| 国产性xxxx18免费观看视频| 久久国产三级| 亚洲国产精品va在线观看黑人| 国产一二三四五区| 欧美一区在线看| 日本欧美国产在线| 99热这里只有精品9| 久久久综合九色合综国产精品| 亚洲欧美日韩综合一区| 国模私拍一区二区国模曼安| 欧美午夜电影一区| 91精品又粗又猛又爽| 日韩精品一卡| 97成人超碰免| 精品国精品国产自在久不卡| 久久只精品国产| 97超碰国产精品| 国外成人福利视频| 日韩电影网在线| 免费一级a毛片夜夜看| 日韩av在线发布| 国产亚洲自拍偷拍| 97caopron在线视频| 色吊一区二区三区| 中国极品少妇videossexhd| 婷婷久久一区| 国产精品久久久久影院老司| 麻豆av一区二区三区久久| 黄色在线观看网站| 欧洲亚洲国产日韩| a级一a一级在线观看| 影视一区二区| 国产精品免费视频久久久| 视频二区在线观看| 亚洲精品福利视频网站| 视频在线观看免费高清| 欧美人妖在线| 98精品国产高清在线xxxx天堂| 国产精品久久久久毛片| 国产午夜精品福利| 国产二区视频在线播放| 国产成人高清精品免费5388| 欧美成人精品在线观看| 中文字幕视频二区| 国产日韩欧美a| 久久精品香蕉视频| 日韩高清成人在线| 午夜精品在线视频| 国精产品一品二品国精品69xx| 亚洲人成小说网站色在线| 亚洲综合婷婷久久| 日韩美女一区二区三区在线观看| 国产97在线|亚洲| 青青草在线视频免费观看| 午夜久久久影院| 精品一区二区三区四区五区六区| 韩国一区二区三区在线观看| 999视频在线观看| 污片视频在线免费观看| 欧美一二三区在线观看| 男女羞羞免费视频| 国产成人免费视频网站| 男女激情免费视频| 国产精品流白浆在线观看| 国内偷自视频区视频综合| 色屁屁草草影院ccyycom| 精品久久久久久久中文字幕| 亚洲观看黄色网| 久久婷婷久久| 日韩精品一区二区三区丰满 | 国产日产久久高清欧美一区| a天堂中文在线88| 欧美日韩黄视频| 在线日韩国产网站| 国产精品一区二区不卡| 国产欧美精品aaaaaa片| 亚洲精品第二页| 欧美偷拍自拍| 成人美女免费网站视频| 老司机精品视频在线观看6| 欧美一区二区三区不卡| 日本三级免费看| 久久久国产精品麻豆| 国产三级国产精品国产专区50| 欧美激情理论| av免费观看久久| 台湾佬中文娱乐网欧美电影| 夜夜躁日日躁狠狠久久88av | 欧美电影精品一区二区| 国产对白videos麻豆高潮| 久久婷婷色综合| 91高清国产视频| 亚洲网址在线| 色综合视频二区偷拍在线| 91精品亚洲一区在线观看| 午夜精品在线视频| a天堂在线资源| 欧美不卡在线视频| 精品国产乱子伦| 亚洲美女淫视频| 美女洗澡无遮挡| 国产成人啪午夜精品网站男同| 成人毛片视频网站| 羞羞答答成人影院www| 好吊妞www.84com只有这里才有精品 | 神马久久久久久| 天天综合永久入口| 欧美福利一区二区| 在线观看日本网站| 亚洲精选视频免费看| mm131美女视频| 国产成人综合在线| 九热视频在线观看| 亚洲人成高清| 天天干天天色天天爽| 欧美激情在线精品一区二区三区| 91久久精品国产91久久性色tv | 成人美女av在线直播| 小早川怜子影音先锋在线观看| 成年人精品视频| 国产精品一区在线看| 亚洲国模精品一区| 99久久精品国产色欲| 在线视频欧美精品| 免费av一区二区| 成人免费公开视频| 欧美日韩和欧美的一区二区| 国产成人精品777777| 亚洲va天堂va国产va久| 亚洲波多野结衣| 欧美国产1区2区| 一二三不卡视频| 国产.欧美.日韩| 亚洲综合在线一区二区| 日本不卡视频一二三区| 国产又大又硬又粗| 亚洲少妇在线| 国产乱淫av片杨贵妃| 你懂的一区二区| av不卡在线免费观看| 精品国产一区二区三区| 精品久久蜜桃| 牛牛精品成人免费视频| 国产精品一码二码三码在线| 亚洲日本va| 亚洲aⅴ日韩av电影在线观看| 91精品美女| 亚洲成人免费av| av在线播放亚洲| 99热99re6国产在线播放| 久久综合88中文色鬼| 日本三级视频在线播放| 在线播放日韩av| 国产黄在线看| 在线精品播放av| 97视频在线观看网站| 深夜福利日韩在线看| 日本中文字幕在线视频| 色老头一区二区三区在线观看| 永久免费av在线| 麻豆成人在线看| 天堂va在线| 国语自产在线不卡| 伊人网在线播放| 日本欧美在线视频| 日韩精品免费观看视频| 国产精品久久久久久久久影视 | 久久人妻少妇嫩草av蜜桃| 国产精品1区二区.| 88av在线播放| 久久久一区二区三区捆绑**| 国产在线综合视频| 成人免费在线观看入口| 欧美精品一区二区蜜桃| 五月天中文字幕一区二区| 国产精品久久久久久久久久精爆| 日本大香伊一区二区三区| 亚洲一区二区人妻| 日韩欧美国产电影| 色在线免费视频| 久久精品国亚洲| www.av欧美| 国产白丝精品91爽爽久久| 超碰97在线资源站| 国产精品欧美精品| 免费网站看av| 色综合久久久久网| 99热这里只有精品99| 亚洲精品久久7777777| 国产高清av在线| 久久福利视频网| 中文字幕资源网在线观看免费 | 国产精品久久久久av蜜臀| 久久久久资源| 亚洲91中文字幕无线码三区| 国产成人艳妇aa视频在线| 久久久久久久欧美精品| 91免费视频污| 91在线观看高清| 九九热视频在线免费观看| 精品国产福利在线| 国产精品高潮呻吟久久久| 亚洲国产天堂久久综合| 日本中文字幕在线2020| 97在线视频免费播放| 少妇高潮一区二区三区99| 精品蜜桃传媒| 婷婷亚洲综合| 丁香婷婷激情网| 处破女av一区二区| 成人无码精品1区2区3区免费看| 午夜伦理一区二区| 国产视频在线一区| 亚洲色图50p| av蜜臀在线| 91夜夜揉人人捏人人添红杏| 亚洲免费福利一区| 欧美日韩福利在线| 久久97超碰国产精品超碰| 六月婷婷七月丁香| 香蕉久久一区二区不卡无毒影院| 夜夜爽8888| 国产性猛交xxxx免费看久久| 成人性生交大片免费看在线播放| 91影视免费在线观看| 成人羞羞网站入口| 少妇人妻互换不带套| 91视频在线观看免费| 精品一级少妇久久久久久久| 6080国产精品一区二区| 第一页在线观看| 日韩免费观看视频| 亚洲精品一级二级三级| 人妻无码久久一区二区三区免费| 麻豆成人91精品二区三区| 亚洲人成人无码网www国产 | 久久天天躁狠狠躁老女人| 深夜视频一区二区| 日本不卡在线观看| 午夜宅男久久久| 国产精品极品美女在线观看免费| 色爱综合区网| 亚洲综合色激情五月| 91精品国产福利在线观看麻豆| 人妻无码视频一区二区三区| 91日韩精品一区| xxxx.国产| 日韩电影在线观看永久视频免费网站| 超碰在线中文字幕| 国产精品免费观看高清| 国内久久视频| 一级黄色大片免费看| 亚洲图片欧美视频| 日本高清视频在线| 91av在线视频观看| 一本久久青青| 国产淫片av片久久久久久| 久久久久久亚洲综合影院红桃 | 伊人久久成人| 你懂的在线观看网站| 欧美日韩一区二区三区| 欧美日韩视频精品二区| 国产成人精品国内自产拍免费看| 亚洲精品小区久久久久久| 男女爽爽爽视频| 国产精品高潮呻吟久久| 国产手机视频在线| 欧美激情一区二区三区高清视频| 婷婷在线视频观看| 欧美天天综合色影久久精品| 97人妻一区二区精品免费视频| 久久综合伊人77777| 最新精品在线| 国产aaa一级片| 国产精品色一区二区三区| 国产乱淫av免费| 97avcom| 欧美色图激情小说| 熟妇无码乱子成人精品| 亚洲高清免费观看高清完整版在线观看 | 国产视频精品网| 视频在线观看一区二区三区| 国产黄色片在线| 精品日韩在线一区| 亚洲承认视频| 国产又粗又大又爽的视频| 福利91精品一区二区三区| www欧美在线| 久久精品电影网站| 奇米777国产一区国产二区| 日本女优爱爱视频| 尤物av一区二区| 牛牛澡牛牛爽一区二区| 91免费电影网站| 亚洲一区二区三区高清| 免费精品在线视频| 亚洲激情国产精品| 亚洲精品tv| 69堂免费视频| 亚洲欧美色图小说| 三级国产在线观看| 成人信息集中地欧美| 国产精品一国产精品k频道56| 成人欧美一区二区三区黑人一| 亚洲第一中文字幕在线观看| 国精品产品一区| 欧美a在线视频| 亚洲狠狠丁香婷婷综合久久久|