精品欧美一区二区三区在线观看 _久久久久国色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| 在线观看日韩国产| 懂色中文一区二区三区在线视频| 国产精品a成v人在线播放| 牛牛影视久久网| 色综合天天在线| 伊人久久大香线蕉午夜av| 99热这里只有精品1| 亚洲另类视频| 中文字幕亚洲欧美在线| 午夜性福利视频| а√在线天堂官网| 国产精品日韩成人| 国产高清在线精品一区二区三区| 波多野结衣啪啪| 欧美a级片网站| 亚洲欧美中文字幕在线一区| 伊人成人免费视频| 少妇一区视频| 亚洲不卡在线观看| 亚洲一区精彩视频| 色视频免费在线观看| 精品亚洲国内自在自线福利| 91国内精品久久| 亚洲欧洲综合网| 亚洲成a人片77777在线播放 | 亚洲午夜激情| 五十路在线观看| 国产一区二区三区四| 日韩av不卡在线| 精品少妇爆乳无码av无码专区| 国产免费av一区二区三区| 日韩久久久久久| 亚洲综合日韩欧美| 欧美激情喷水| 亚洲国产欧美一区二区三区丁香婷| 日韩精品欧美一区二区三区| 色wwwwww| 成人免费电影视频| 成人网址在线观看| 中文字幕人妻色偷偷久久| 99pao成人国产永久免费视频| 久久视频精品在线| 黄色一级片一级片| 精品国产乱码久久久久久1区2匹| 亚洲国产成人av在线| 美女被艹视频网站| 91视频成人| 欧美精品在线一区二区| 香蕉视频禁止18| 少妇一区视频| 欧美性大战久久久久久久| 成人在线看视频| 欧美色网一区| 色婷婷av一区二区三区软件| 激情综合网婷婷| 免费看男女www网站入口在线 | 天天操夜夜操视频| 国产精品美女| 国产91成人video| 日本va欧美va国产激情| 9国产精品视频| 国内外成人免费激情在线视频| 免费毛片在线播放免费| 国产伊人精品| 海角国产乱辈乱精品视频| 久久久91视频| 亚洲理伦在线| 日本免费久久高清视频| 涩涩视频在线观看| 韩国午夜理伦三级不卡影院| 国产日韩欧美夫妻视频在线观看| 亚洲中文字幕一区二区| 国产乱子伦一区二区三区国色天香| 91在线视频精品| 懂色av成人一区二区三区| 不卡区在线中文字幕| 久久人人爽爽人人爽人人片av| 日本中文字幕一区二区有码在线 | 欧美成人影院| 欧美日韩亚洲另类| 久久精品一卡二卡| 国产 日韩 欧美 综合 一区| 亚洲精品在线看| 一道本在线观看| 99久久久久久中文字幕一区| 欧美二区乱c黑人| 日韩精品1区2区| 日本一不卡视频| 亚洲一区二区三区视频| 天天操天天舔天天干| 久久精品人人做人人爽97| 免费观看黄色大片| а√天堂中文在线资源8| 欧美亚洲动漫制服丝袜| 日韩精品xxx| 免费久久精品| 美日韩丰满少妇在线观看| 六月丁香在线视频| 狠狠色丁香久久婷婷综| 国产一级精品aaaaa看| 波多野结衣在线影院| 一区二区三区不卡视频在线观看| 欧美牲交a欧美牲交aⅴ免费真| 欧美激情福利| 亚洲精品久久久久国产| 2019男人天堂| 日韩视频在线一区二区三区 | 日本波多野结衣在线| 久久精品亚洲乱码伦伦中文 | 亚洲综合精品| 成人性教育视频在线观看| 天天射天天色天天干| 国产精品美女久久久久aⅴ国产馆| 黄色激情在线视频| 日韩午夜视频在线| 亚洲精品视频免费| 久久久久无码国产精品| 久久精品久久综合| 欧美激情导航| 国产精品186在线观看在线播放| 在线观看精品一区| 久久人人爽人人人人片| 欧美成人国产| 国产精品爽爽爽爽爽爽在线观看| 天天干在线观看| 亚洲制服丝袜在线| 8x8x成人免费视频| 精品成av人一区二区三区| 国语自产精品视频在免费| 国产免费av电影| 国产精品免费丝袜| 精品久久久久av| 日韩成人一级| 高清在线视频日韩欧美| www.午夜激情| 亚洲猫色日本管| 小明看看成人免费视频| 日本一二区不卡| 国产精品盗摄久久久| 免费人成黄页在线观看忧物| 精品动漫一区二区三区| 欧美双性人妖o0| 在线观看日韩av电影| 97久久精品午夜一区二区| 成人在线免费看片| 91精品国产91久久综合桃花| 亚洲欧美另类日本| 男人的j进女人的j一区| 色噜噜一区二区| 最新日韩三级| 在线观看91久久久久久| 中文字幕在线观看视频一区| 国产日韩欧美a| 成人性生生活性生交12| 曰本一区二区三区视频| 日韩美女视频在线观看| 国产一级片在线播放| 欧洲亚洲国产日韩| 国产欧美小视频| 久久99国内精品| 色一情一乱一乱一区91| 麻豆视频久久| 欧美激情一二三| 天天av天天翘| 日韩欧美视频一区二区三区| 久久久久久九九九九九| 美女网站视频久久| 亚洲第一综合网站| 97久久亚洲| 青青草成人在线| jyzzz在线观看视频| 欧美日韩国产在线播放网站| www色aa色aawww| 成人黄色小视频在线观看| 国产九九九九九| 一区二区三区四区在线看 | 国产精品亚洲欧美日韩一区在线 | 亚洲精品一线二线三线无人区| 国产亚洲欧美久久久久 | 长河落日免费高清观看| 激情综合色播五月| 久久精品无码中文字幕| 亚欧洲精品视频在线观看| 国产精品一区二区三区在线播放| 好吊日视频在线观看| 亚洲国内精品视频| 亚洲高清在线看| 一区二区三区**美女毛片| 亚洲国产精品成人综合久久久| 日韩国产欧美在线观看| 自拍偷拍亚洲色图欧美| 久久中文资源| 国产主播欧美精品| 在线免费看h| 日韩三级成人av网| 天堂影院在线| 69av一区二区三区| 国产又大又黄视频| 亚洲欧洲无码一区二区三区| 88av在线播放| 精品亚洲欧美一区| www黄色av| 91成人观看| 日产精品久久久一区二区| 视频精品一区| 国产精品夜间视频香蕉| 国产v日韩v欧美v| 久久影院在线观看| 欧美777四色影视在线| 日韩欧美一级精品久久| 中文字字幕在线观看| 婷婷一区二区三区| 一区视频免费观看 | 青青草手机在线观看| 中文字幕第一区综合| 中文字幕三级电影| 国产一区二区电影| 亚洲欧洲日本精品| 久久性色av| 热99这里只有精品| 女人色偷偷aa久久天堂| 性欧美videosex高清少妇| 精品久久ai电影| 99久久一区三区四区免费| 成人国产精品| 日韩免费视频在线观看| а√天堂中文在线资源8| 欧美国产中文字幕| 麻豆网站视频在线观看| 在线视频日本亚洲性| 免费在线黄色影片| 日韩激情视频在线| 天天操天天操天天干| 精品国产一区a| 性少妇videosexfreexxx片| 欧美裸体一区二区三区| 中文字幕人妻互换av久久| 91成人国产精品| av片免费观看| 91福利国产成人精品照片| 丰满少妇xoxoxo视频| 天天色综合成人网| 日韩伦人妻无码| 午夜精品福利在线| 日韩精品无码一区二区| 亚洲图片欧美视频| 99免费在线观看| 午夜精品久久久久久久久久| 国产精品2020| 精品久久久久久国产| 亚洲黄色一区二区| 欧美网站在线观看| 五月天婷婷导航| 在线观看91视频| 在线视频免费观看一区| 欧美老女人在线| 精品久久久无码中文字幕| 日韩视频免费观看高清完整版在线观看 | 欧美美女色图| 亚洲天天在线日亚洲洲精| 岛国在线大片| 精品国产欧美一区二区五十路| 一广人看www在线观看免费视频| 日韩在线小视频| 视频在线观看入口黄最新永久免费国产| 九九久久久久99精品| 91超碰在线| 国产精品mp4| aa亚洲一区一区三区| 国产伦精品一区二区三区照片| 人人精品视频| 亚洲韩国在线| 欧美1区免费| 无码aⅴ精品一区二区三区浪潮| 日韩精品一卡二卡三卡四卡无卡| 最新天堂在线视频| 国产99久久久精品| 欧美做受高潮6| 亚洲日本一区二区三区| 日韩美女黄色片| 欧美在线观看一区| 不卡av中文字幕| 亚洲天堂av在线播放| 黄页视频在线播放| 97国产真实伦对白精彩视频8| 三级中文字幕在线观看| 国产精品视频最多的网站| 欧美电影院免费观看| 蜜桃av久久久亚洲精品| 999国产精品永久免费视频app| 欧美日韩激情四射| 首页国产欧美日韩丝袜| 乳色吐息在线观看| 国产亚洲欧美一级| 三级影片在线看| 在线观看亚洲a| 亚洲精品国产手机| 正在播放国产一区| 99久久精品免费看国产小宝寻花| 国产精品视频色| 好吊妞国产欧美日韩免费观看网站| 欧美最大成人综合网| 亚洲视频免费| 天堂av8在线| 久久综合色天天久久综合图片| 日本不卡一二区| 欧美性猛交xxxx免费看| 亚洲xxx在线| 日韩中文字幕在线精品| 成人欧美一区二区三区的电影| 亚洲qvod图片区电影| 国产日产一区 | 全国精品久久少妇| 亚洲天堂资源在线| 一区二区在线观看视频| 中文字幕+乱码+中文| 日韩精品福利网站| 少女频道在线观看免费播放电视剧| 国产成人久久久| 牛牛视频精品一区二区不卡| 久久免费一级片| 久久99这里只有精品| 西西444www无码大胆| 婷婷国产在线综合| 亚洲精品无码久久久| 久久精品久久久久久| 成人国产精品入口免费视频| 久久天天狠狠| 亚洲伦伦在线| 欧美一级大片免费看| 成人免费在线播放视频| 亚洲视频中文字幕在线观看| 亚洲午夜激情免费视频| 国模套图日韩精品一区二区| 黄色小网站91| 亚洲久久一区| 男男做爰猛烈叫床爽爽小说| 亚洲一区二区在线视频| 超碰在线观看av| 九九九久久国产免费| 欧美黄色一级| 亚洲小视频在线播放| 国产一区在线观看麻豆| 亚洲 欧美 变态 另类 综合| 欧美精品色一区二区三区| 国产精品免费播放| 国产精品久久久久福利| 禁果av一区二区三区| 国产成人精品视频ⅴa片软件竹菊| xf在线a精品一区二区视频网站| www.国产com| 一本一本久久a久久精品综合小说| 粉嫩一区二区三区| 天堂一区二区三区| 久久精品国产免费| 欧美肥妇bbwbbw| 日韩一级片网址| 久久久123| 欧美国产一区二区在线| 奇米一区二区三区av| 国产日产精品一区二区三区的介绍| 欧美精三区欧美精三区| 91网在线看| 国产伦精品一区二区| 久久不射网站| 亚欧精品视频一区二区三区| 欧美精品电影在线播放| 亚洲婷婷噜噜| 精品欧美国产一区二区三区不卡| 国产精品一级| 亚洲综合第一区| 精品乱人伦小说| 在线最新版中文在线| 亚洲伊人婷婷| 国产xxx精品视频大全| 99精品视频99| 这里只有精品视频| 国产精品欧美一区二区三区不卡| 成人免费在线网| 国产拍欧美日韩视频二区| 国产精品九九九九| 午夜精品久久久久久久白皮肤| 国产精品免费大片| 日本国产一级片| 午夜电影一区二区三区| 精品无吗乱吗av国产爱色| 成人网在线免费观看| 国产日本精品| 91香蕉一区二区三区在线观看 | 国产youjizz在线| 91色在线视频| 乱人伦精品视频在线观看| 国产传媒免费在线观看| 亚洲精品成人网| 香蕉久久一区| 成人一区二区三| 亚洲高清免费在线| 免费av不卡| 欧美黑人3p|