日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis03-优惠券秒杀

發布時間:2024/3/13 数据库 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis03-优惠券秒杀 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、分布式Id:訂單id

在分布式架構下,傳統生成Id的方式已經不再適用,應該生成全局唯一的

分布式Id需要滿足的五個特性:全局性、唯一性、安全性、可用性、高性能

@Component public class RedisIdWorker {@Autowiredprivate StringRedisTemplate stringRedisTemplate;private final long COUNT_BITS = 32L;private final long BEGIN = 1652197856L;public long nextId(String keyPrefix){//1.獲取當前時間戳與項目運行時間戳的差值long timeFiled = LocalDateTime.now().toEpochSecond(ZoneOffset.UTC) - BEGIN;//2.生成序列化號String date = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));Long count = stringRedisTemplate.opsForValue().increment("icr:" + keyPrefix + ":" + date);return timeFiled << COUNT_BITS | count;} }

每個業務每天都重新開始計數,求出當前時間與項目運行時間戳的差值,將其左移32位在對count進行 | 操作后轉化為十進制

該方法的思路:一個long類型有8個字節,用四個字節(32位)存放時間信息(136.102208 年),四個字節存放這一天的訂單數量。那么這種方法從項目開始計時,能夠正確運行2^32 秒,每天最多能生成2^32個id。
其實我們也可以只用16位來存儲當前count,剩下48位來存放時間信息,如果一天內達不到2^32次方的訂單id生成量,不如節省下來位數存儲時間信息讓項目運行的更久。

二、優惠券下單

我們先來看如下的流程:

這個流程咋一看好像沒有問題,但實際上它涉及到一個并發問題:
庫存是一個公共資源,線程對它就行讀-寫操作時如果不加鎖則會出現超賣問題

這個問題如何解決呢?當然是通過加鎖來解決,鎖大致分為樂觀鎖和悲觀鎖,我們來探討兩者的差異

樂觀鎖

樂觀鎖的思想也適用于分布式項目



對于優惠券秒殺這種寫多讀少的業務,推薦使用悲觀鎖,樂觀鎖成功率低反而更加消耗性能

一人一單

業務流程

并發問題

使用jdk提供的鎖只在它所在的jvm有效,無法鎖住其它jvm,由于該項目是一個分布式項目,我們需要采取分布式鎖解決該問題

分布式鎖


實現方式

MySQL實現方式:通過行鎖或表鎖的機制達到互斥性,但是它把鎖的壓力給到了數據庫,而數據庫又是相當脆弱的部分無法面對高并發場景,所以使用MySQL實現互斥鎖的業務并發量不能太大。具體看這篇博客:https://cloud.tencent.com/developer/article/1580632

Redis實現分布式鎖

上面這一套流程存在一個問題,它是由鎖標識一致所導致的,當線程一因為業務超時導致鎖過期時,線程二獲取到了鎖,等到線程一執行完后釋放掉的鎖此時已經是線程二的了,線程三看鎖沒了又去獲取鎖…

所以設置一個鎖標識是非常重要的,而并發是以線程為單位的,每個線程都有一個自己的鎖標識就ok啦,那拿什么給每個線程充當鎖標識呢?UUID可以嘛?理論上可以,但如果使用uuid的話,每上一次鎖就要生成一個uuid,是非常消耗性能的操作,有沒有更優化的操作呢?
其實每個線程都有一個天然的鎖標識,那就是線程id,但是不同jvm的線程id可能重復,我們可以將uuid設置為靜態變量作為鎖標識的前綴,用線程id作為鎖標識的后綴,這樣不同機器的uuid是不同的,可以保證一致性,同時uuid作為靜態變量每臺機器只需要創建一次,不需要每次上鎖都創建,提高了性能

Redis實現簡單的分布式鎖

public class SimpleRedisLock {private String key;private StringRedisTemplate stringRedisTemplate;private static final String ID_PREFIX = UUID.randomUUID().toString(true) + "-";private static final DefaultRedisScript<Long> UNLOCK_SCRIPT;static {UNLOCK_SCRIPT = new DefaultRedisScript<>();UNLOCK_SCRIPT.setLocation(new ClassPathResource("unlock.lua"));UNLOCK_SCRIPT.setResultType(Long.class);}public SimpleRedisLock(String key, StringRedisTemplate stringRedisTemplate) {this.key = key;this.stringRedisTemplate = stringRedisTemplate;}public boolean tryLock(long timeSeconds){String id = ID_PREFIX + Thread.currentThread().getId();Boolean flag = stringRedisTemplate.opsForValue().setIfAbsent(key, id, timeSeconds, TimeUnit.SECONDS);return BooleanUtil.isTrue(flag);}public void unlock(){String val = stringRedisTemplate.opsForValue().get(key);if(val != null && val.equals(ID_PREFIX + Thread.currentThread().getId())){stringRedisTemplate.delete(key);}} }

其實上述代碼還存在一點小問題,那就是unlock操作,由于它不是原子性操作,那么當它從redis的鎖中取值后,redis鎖過期了,那么雖然它可以執行if內的語句,但此時它的鎖已經過期了,它有可能會刪除其它線程的鎖
解決辦法也很簡單,就是想法讓unlock中的操作變成原子操作,一說這個很多人第一反應是加鎖,但jvm和redis是兩個獨立運行的進程,沒法加鎖,我們可以通過讓redis執行lua腳本來保證操作的原子性
unlock.lua

-- 鎖的key local key = KEYS[1] -- 線程標識符 local threadId = ARGV[1]-- 判斷標識符是否是當前線程 if(redis.call("get",key) == threadId) thenreturn redis.call("del",key) end return 0

setnx實現分布式鎖存在的問題

Redission提供的分布式鎖

自動續約

我們回憶一下,之前使用setnx充當分布式鎖的時候為什么要設置過期時間呢?是防止由于redis宕機導致這個鎖無法釋放成為死鎖,那么當cpu資源緊張且某個業務執行時間比較長的時候,很可能鎖就被自動釋放導致其它線程也進入到該臨界區,存在并發安全問題,那么Redission的出現完美的解決了該問題!
Redission內置了WatchDog機制,默認每隔十秒檢查一遍鎖,若存在給它重新設置30秒過期時間,如果redis宕機了,那么WatchDog會停止續約操作,鎖會在30秒后自動釋放
WatchDog機制只有在未設置過期時間時才有效,也就是未設置leaseTime才生效

可重入

可重入機制是利用hashmap的特性,使用field標識鎖標識,val標識鎖的重入次數,釋放鎖時將val-1,若val=0,則刪除key

主從一致性

當我們的項目使用了redis集群時,當我們對主節點執行setnx進行上鎖的時候,從節點還未來得及同步主節點數據時,主節點宕機導致鎖丟失,我們可以采用redission提供的multilock的機制來解決該問題

鎖丟失

  • 那么 Redisson 是如何解決上述問題的呢?既然導致主從一致性問題發生的主要原因是主從同步延時問題,Redisson 干脆直接舍棄了主從節點,所有 Redis 節點都是獨立的節點,相互之間無任何關系,都可以做讀寫操作。此時,我們想獲取鎖就必須依次向多個 Redis 都去獲取鎖(之前直接向 Master 節點獲取就可以),多個 Redis 節點都保存鎖的標識,才算獲取成功

  • 這樣一來,由于所有節點都是獨立的,所以避免了主從一致性問題;又由于所有的節點都保存了鎖標識,即使由一個節點宕機,其他的節點也保存有鎖的標識,保證了高可用,并且可用性會隨著節點的增多而增高

  • 此外,我們還以為給這些獨立的節點再加上從節點 Slave,即使一個獨立節點宕機了導致其對應的從節點變成新的主節點,且節點上鎖標識丟失了也沒有關系,因為我們只有在每一個節點都拿到鎖才算成功, 盡管可以在這個空虛的節點上獲取到鎖,但在其他節點上是獲取不到的,最終仍然是失敗,因此只要有任意一個節點存貨,其他線程就不可能拿到鎖,就不會出現鎖失效問題。這樣,既保留了主從同步機制,又確保了 Redis 集群的高可用特性,同時還避免了主從一致所引發的鎖失效問題,這個方案就叫做 mutilLock

簡而言之,就是對多個redis節點進行上鎖,必須全部上鎖成功才算成功,哪怕有一個節點的鎖沒有釋放當前線程都無法獲得鎖

秒殺優化

優化前


單線程處理數據的校驗以及訂單的創建,而從判斷秒殺庫存->訂單創建這個過程中我們需要采用加鎖的機制來保證不發生超賣問題和一人一單的正確性,這樣做雖然可行,但卻無法面對高并發場景,因為加鎖的過程太長,并且加鎖范圍內有好幾個隊數據庫的操作,業務太重,影響用戶體驗

優化后

將數據校驗的業務用redis處理,處理成功后返回給客戶端,而對數據庫的操作額外使用消費者線程在后臺中處理,既能保證數據一致性,又大大加快響應速度。

數據校驗

接口定義:
@PostMapping(“seckill/{id}”)

public Result seckillVoucher(@PathVariable(“id”) Long voucherId)

業務流程

  • 根據voucherId在redis中查詢庫存,若緩存不存在則刷新緩存
  • 校驗該voucherId對應的set是否包含userId
  • 若包含則直接返回結果,告訴用戶請勿重復下單
  • 若不包含則判斷庫存是否大于0,若大于0則-1,并將用戶id添加到set中,向消息隊列發送消息
  • 注意:上述流程涉及到并發安全問題,在看下面代碼前可以思考一下加鎖的位置、對誰上鎖以及鎖的釋放

    代碼如下

    public Result secKillVoucher2(long id) {//1.設置keyString stock_key = RedisConstants.SECKILL_STOCK_KEY + id;String order_key = "seckill:order:" + id;long order_id = idWorker.nextId("order");//1.1判斷redis中是否有存放stock的keyif(StrUtil.isBlank(stringRedisTemplate.opsForValue().get(stock_key))) {//1.2 若不存在該key則刷新緩存Integer stock = cacheClient.queryDataByMutex(RedisConstants.SECKILL_STOCK_KEY, id, Integer.class, (v_id) -> {SeckillVoucher voucher = seckillVoucherService.getById(v_id);return voucher.getStock();}, 10, TimeUnit.MINUTES);}//2.判斷該用戶id是否存在set中Long userId = UserHolder.getUser().getId();RLock lock = redissonClient.getLock("lock:user:" + userId);boolean isLock = lock.tryLock();if(!isLock){return Result.fail("請無重復下單");}try {Boolean flag = stringRedisTemplate.opsForSet().isMember(order_key, userId.toString());if (flag) {return Result.fail("請無重復下單");}long add = stringRedisTemplate.opsForSet().add(order_key, userId.toString());//3.校驗庫存是否夠Integer stock = Integer.valueOf(stringRedisTemplate.opsForValue().get(stock_key));if (stock > 0) {stringRedisTemplate.opsForValue().decrement(stock_key);} else {return Result.fail("庫存不足");}//4.封裝好訂單信息發送到消息隊列HashMap<String, String> map = new HashMap<>();map.put("id", String.valueOf(order_id));map.put("userId", String.valueOf(userId));map.put("voucherId", String.valueOf(id));stringRedisTemplate.opsForStream().add("stream.orders", map);return Result.ok(order_id);}catch (Exception e){log.error(e.getMessage());return Result.fail(e.getMessage());}finally {System.out.println("seckill unlock");if(lock.isLocked() && lock.isHeldByCurrentThread()) {lock.unlock();}}}

    上述代碼大家覺得有問題嗎,我對它做過壓測,同一用戶的請求一秒1000的并發量是沒有問題的,而不同用戶訪問時,會出現超賣問題,因為上鎖的范圍是針對UserId的,不同用戶之間互不干擾,我們可以通過更改鎖的對象,使用voucherId作為鎖,但這樣會大大降低并發量,接下來我將介紹一種更好的解決方案:lua腳本

    lua腳本

    Lua也算一門古老的語言了,玩魔獸世界的玩家應該對它不陌生,WOW的插件就是用Lua腳本編寫的。在高并發的網絡游戲中Lua大放異彩被廣泛使用。
    Lua廣泛作為其它語言的嵌入腳本,尤其是C/C++,語法簡單,小巧,源碼一共才200多K,這可能也是Redis官方選擇它的原因。

    為什么使用lua解決并發問題:因為在lua中的操作是原子性的,redis一旦執行某個lua腳本,在執行完成之前是不會執行其它請求的
    那么我們可以將上述代碼的鎖范圍內的業務邏輯寫在lua腳本中,讓lua腳本來保證它們的串行執行

    代碼

    @Overridepublic Result secKillVoucher(long id) {//1.設置keyString stock_key = RedisConstants.SECKILL_STOCK_KEY + id;String order_key = "seckill:order:" + id;long order_id = idWorker.nextId("order");//1.1判斷redis中是否有存放stock的keyif(StrUtil.isBlank(stringRedisTemplate.opsForValue().get(stock_key))) {//1.2 若不存在該key則刷新緩存Integer stock = cacheClient.queryDataByMutex(RedisConstants.SECKILL_STOCK_KEY, id, Integer.class, (v_id) -> {SeckillVoucher voucher = seckillVoucherService.getById(v_id);return voucher.getStock();}, 10, TimeUnit.MINUTES);}//2.執行lua腳本,判斷是否符合條件,若符合條件則發送到消息隊列Long res = stringRedisTemplate.execute(SECKILL_SCRIPT, Arrays.asList(order_key, stock_key), UserHolder.getUser().getId().toString(),String.valueOf(order_id),String.valueOf(id));//3. 條件校驗失敗if(res.intValue() != 0){return Result.fail("下單失敗,請勿重復下單");}return Result.ok(order_id);}

    lua腳本

    --獲取key local order_key = KEYS[1] local order_stock_key = KEYS[2]--獲取用id local user_id = ARGV[1] -- 獲取訂單id local order_id = ARGV[2] -- 獲取優惠券id local voucher_id = ARGV[3]-- 判斷庫存是否足夠 if(tonumber(redis.call("get",order_stock_key)) <= 0) thenreturn 1 end-- 判斷用戶id是否存在該商品的用戶列表中 if( redis.call("sismember",order_key,user_id) == 1) thenreturn 2 end-- 庫存-1 redis.call("incrby",order_stock_key,-1) -- 將userId添加進該商品的用戶列表 redis.call("sadd",order_key,user_id) -- 向消息隊列發送消息 redis.call("xadd","stream.orders","*","id",order_id,"userId",user_id,"voucherId",voucher_id) return 0

    消息隊列:Stream

    在redis中,有個Stream類型的數據,可以說是為了消息隊列而生的,若是項目不太大但又需要使用消息隊列,我們可以使用redis的Stream類型來充當消息隊列,它的優點是配置簡單,不會額外增加運維成本、使用方便
    基本的使用語法我已經寫在了另一篇博客中:https://blog.csdn.net/qq_42861526/article/details/124753721
    接下來我主要給大家講一下Stream的特點

    消費者組

    Stream和消費者組通常是一起出現的,我們可以為Stream創建一個或多個消費者組,每個消費者組包含一個或多個消費者,消費者組之間共享消息,同一個消費者組下的消費者競爭消息

    特點

    • 消息分流:隊列中的消息會分流給消費者組中不同的消費者,不會讓他們重復消費,提高消息處理速度
    • 消息標示:每個消費者組會維護一個標示,記錄它最后處理過的消息,哪怕它宕機后重啟,也能從標示之后開始消費
    • 消息確認:消費者獲取消費后,消息會變成pending狀態并添加到pending-list中,當消費者對該消息執行XACK后,該消息才會重pending-list中移除

    讀取、解析消息

    private class VoucherHandler implements Runnable{@Overridepublic void run() {try {while(true) {//1.從消息隊列中取出訂單List<MapRecord<String, Object, Object>> list = stringRedisTemplate.opsForStream().read(Consumer.from("g1", "c1"),StreamReadOptions.empty().count(1).block(Duration.ofSeconds(2)),StreamOffset.create("stream.orders", ReadOffset.lastConsumed()));//2.判斷消息是否為空if(list == null || list.isEmpty()){continue;}//3.解析消息MapRecord<String, Object, Object> record = list.get(0);Map<Object, Object> map = record.getValue();VoucherOrder order = BeanUtil.fillBeanWithMap(map, new VoucherOrder(), true);//4.創建訂單createVoucherOrder(order);stringRedisTemplate.opsForStream().acknowledge("stream.orders","g1",record.getId());}} catch (Exception e) {log.error("處理訂單異常");log.error(e.getMessage());handlePendingMsg();}}}private void handlePendingMsg(){try {while(true) {//1.從消息隊列中取出訂單List<MapRecord<String, Object, Object>> list = stringRedisTemplate.opsForStream().read(Consumer.from("g1", "c1"),StreamReadOptions.empty().count(1).block(Duration.ofSeconds(2)),StreamOffset.create("stream.orders", ReadOffset.from("0")));//2.判斷消息是否為空if(list == null || list.isEmpty()){break;}//3.解析消息MapRecord<String, Object, Object> record = list.get(0);Map<Object, Object> map = record.getValue();VoucherOrder order = BeanUtil.fillBeanWithMap(map, new VoucherOrder(), true);//4.創建訂單createVoucherOrder(order);stringRedisTemplate.opsForStream().acknowledge("stream.orders","g1",record.getId());}} catch (Exception e) {try {Thread.sleep(1000);} catch (InterruptedException interruptedException) {interruptedException.printStackTrace();}log.error("處理訂單異常");}}

    消費消息

    @Transactionalpublic void createVoucherOrder(VoucherOrder order) {log.debug("創建訂單......");//1.userid設置鎖RLock lock = redissonClient.getLock("lock:order:user:" + order.getUserId());boolean tryLock = lock.tryLock();if(!tryLock){log.debug("請勿重復下單");return ;}try{//2. 查看該用戶是否搶過該優惠券Integer count = query().eq("user_id", order.getUserId()).eq("voucher_id", order.getVoucherId()).count();if (count > 0) {log.debug("請勿重復下單");return ;}//3.扣減庫存System.out.println("扣減庫存");boolean success = seckillVoucherService.update().setSql("stock = stock-1").eq("voucher_id", order.getVoucherId()).gt("stock", 0).update();//3.1庫存不足if(!success){log.debug("庫存不足");return;}//4.保存訂單到數據庫save(order);}catch (Exception e){e.printStackTrace();}finally {lock.unlock();}}

    問題:我們已經在發送消息時保證了并發安全,為什么在處理消息時還采用加鎖和數據校驗?
    答:因為在redis主從同步的集群下,我們判斷我們的用戶id是否存在voucherId對應set中的操作是一個讀操作,它會去從節點讀取,若主節點已經添加了這個userId,而從節點還沒來得及同步消息,那么代碼會繼續往下執行,將同樣的消息發送到消息隊列中

    但在我們這個項目中,由于使用lua腳本來保證執行的原子性,即使在主從集群下,lua腳本首先會發給主節點,主節點再將腳本分發給從節點一起執行,所以主從的所有節點一次只能執行一個lua腳本請求,不會出現上面所說的情況,我們添加鎖和數據校驗只是為了增強程序的健壯性,因為執行消費消息的線程是后臺執行的,它并不要求響應速度,所以額外增加一點業務也無傷大雅

    總結

    以上是生活随笔為你收集整理的Redis03-优惠券秒杀的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    91在线免费视频观看 | 在线日本看片免费人成视久网 | 狠狠干狠狠艹 | 亚洲经典中文字幕 | 国产精品第72页 | av电影一区 | 免费在线观看一区二区三区 | 99免费视频 | 国产69久久久欧美一级 | 青青久视频 | 天天天天色射综合 | 99c视频高清免费观看 | 国产精品成人自产拍在线观看 | 福利片视频区 | 国产一区二区中文字幕 | 91av超碰| 日韩xxxx视频 | 在线国产一区二区 | 久久久精品| 日韩欧美不卡 | 亚洲一本视频 | 国产99久久久欧美黑人 | 视频直播国产精品 | 五月婷婷六月丁香 | 国产三级国产精品国产专区50 | 亚洲精品系列 | 欧美成人在线免费观看 | 成人中文字幕av | 九九热在线视频 | 成人午夜精品福利免费 | 成年人视频在线免费 | 中文字幕第 | 观看免费av | 欧美视频18 | 在线观看亚洲成人 | 在线电影a| 国产免费亚洲高清 | a视频在线看 | 国产精品自在线 | 国产精品久久99精品毛片三a | 91久久国产综合精品女同国语 | 欧美一级免费在线 | av在线影视 | 国产色综合 | 久久亚洲福利视频 | 欧美激情片在线观看 | 日韩av线观看| 99久久日韩精品视频免费在线观看 | 7777xxxx| 91精品国产92久久久久 | 九九九电影免费看 | 91久久国产露脸精品国产闺蜜 | 97成人精品 | 午夜精品久久久久久久99水蜜桃 | 就要干b | 久久婷婷国产 | 国产精品美女网站 | 黄色免费观看视频 | 欧美激情精品久久久 | 天天色综合1 | 国产精品aⅴ | 人人爱天天操 | 久久久久国产精品一区二区 | 在线视频观看国产 | 欧美日韩xx | 国产精品久久久久久久久久不蜜月 | 国产免费又粗又猛又爽 | 亚洲综合丁香 | 国产精品免费观看久久 | 久久精品免费播放 | 色午夜 | 久久久免费精品国产一区二区 | 久久黄色网址 | www.久久精品视频 | 国产美女在线精品免费观看 | 成年人黄色在线观看 | 特黄特黄的视频 | 麻豆精品国产传媒 | 久久a免费视频 | 天天玩天天干天天操 | 天堂av观看| 欧美一级免费在线 | 免费午夜视频在线观看 | 国产精品一区二区三区在线看 | 日本福利视频在线 | 成人9ⅰ免费影视网站 | 天天干天天综合 | 正在播放久久 | 91精品国产乱码久久桃 | 国产精品国产三级在线专区 | 99精品电影 | 激情久久伊人 | 精品免费久久久久 | 亚洲 欧洲av| 波多野结衣在线观看视频 | 国产人成在线观看 | 亚洲视频在线免费看 | 欧美日韩1区2区 | 三日本三级少妇三级99 | 久久免费看毛片 | av免费试看| 成人小视频免费在线观看 | 精品在线观看一区二区 | 亚洲欧美日韩在线看 | 精品夜夜嗨av一区二区三区 | 大型av综合网站 | 日批视频 | 国产日韩三级 | 亚洲精品18日本一区app | 欧美a性 | 免费在线观看中文字幕 | 日韩在线观看一区二区三区 | 国产精品第一视频 | 黄色视屏av | 国产欧美精品在线观看 | 色亚洲网 | 亚洲视频在线观看免费 | 三日本三级少妇三级99 | 香蕉视频导航 | 国产精品国产三级国产aⅴ9色 | 国产成人91| 国内精品毛片 | 国产精品人人做人人爽人人添 | 蜜臀av一区 | 久久精品人人做人人综合老师 | bbbbb女女女女女bbbbb国产 | 精品国精品自拍自在线 | 在线观看黄 | 精品欧美一区二区在线观看 | 免费网址在线播放 | 国产亚洲精品久久久久久久久久久久 | 精品国产乱码久久久久久1区二区 | 成人9ⅰ免费影视网站 | 99热网站 | 青青河边草手机免费 | 久久伊人色综合 | 亚洲精品在线观看不卡 | 国产精品福利无圣光在线一区 | 欧美成人h版 | av在线中文| 日韩色视频在线观看 | 亚洲更新最快 | av在线播放中文字幕 | 在线 欧美 日韩 | 国产精品k频道 | 日韩一区二区三免费高清在线观看 | 国产高清第一页 | 激情av五月婷婷 | 美女久久久久 | 亚州精品在线视频 | 国产一级大片免费看 | 成人黄色一级视频 | 亚洲成色777777在线观看影院 | 在线免费观看av网站 | 婷婷在线网 | 久久久久久久国产精品视频 | 亚洲综合精品视频 | 亚洲波多野结衣 | 久久成人高清视频 | 国产高清在线一区 | 丁香久久婷婷 | 久久超碰97 | 黄色毛片一级片 | 亚洲好视频 | 亚洲第一色 | 91精品视频一区 | 天天操夜夜爱 | 成人在线免费视频观看 | 最近日本中文字幕 | 久草香蕉在线 | 国产永久免费高清在线观看视频 | 国产一区二区精品久久 | 国产成人在线综合 | 久久精品高清 | av高清一区二区三区 | 久久免费国产电影 | 天天艹 | 日韩二三区 | 国产91aaa| 国产精品videossex国产高清 | 在线国产日本 | 国产手机视频在线播放 | www.黄色 | av在线永久免费观看 | 天天操天天透 | 免费看日韩 | 国产无套精品久久久久久 | 婷婷成人亚洲综合国产xv88 | 中文字幕中文字幕中文字幕 | 亚洲精品午夜久久久久久久 | 婷婷在线精品视频 | 黄色小说免费观看 | 色偷偷男人的天堂av | 97超碰中文字幕 | 亚洲一区二区三区精品在线观看 | 亚洲欧美成人综合 | av一区二区三区在线观看 | 色视频国产直接看 | 国产视频一区二区三区在线 | 夜夜操天天 | 国产视频第二页 | 精品国产一区二区在线 | 97超碰在线视| 国产精品视频你懂的 | 六月婷婷久香在线视频 | 国产亚洲精品久久久久久大师 | 国产黄色精品在线观看 | 久久视频国产精品免费视频在线 | 97看片吧| 中文字幕 欧美性 | 毛片3| 国产精品女人久久久 | 国产手机视频精品 | 国产免费不卡 | 天天综合天天做天天综合 | 五月开心婷婷网 | 日日操天天爽 | 综合在线亚洲 | 亚洲精品在线免费看 | 色婷婷六月天 | 欧美视频不卡 | 精品国产一区二区三区四区在线观看 | 久久久精品一区二区三区 | 久久66热这里只有精品 | 黄色特一级片 | 91av蜜桃| 成人免费大片黄在线播放 | 91丨九色丨国产在线观看 | 亚洲电影免费 | 色视频网站免费观看 | 国产福利在线 | 久久久视频在线 | 国产精品一区二区三区观看 | 九九综合久久 | 国产精品情侣视频 | 亚洲小视频在线观看 | 色婷婷福利视频 | av黄色免费在线观看 | 四虎欧美| 天天久久综合 | 综合黄色网 | 99re6热在线精品视频 | av免费在线网站 | 五月婷丁香网 | 久久综合视频网 | 精品久久久久久久久久久院品网 | 久久久久久97三级 | 欧美激情视频一区二区三区免费 | 一区二区三区四区久久 | 免费福利视频网 | 手机在线看永久av片免费 | 欧美日韩免费视频 | 国产成人在线一区 | 在线看国产日韩 | 久久试看 | 麻豆免费看片 | 一级黄色片网站 | www.天堂av| 欧美夫妻生活视频 | 麻豆视频网址 | 国产精品久久婷婷六月丁香 | 99国内精品 | 国产成人黄色在线 | 午夜久久网 | 久久精品国产一区二区电影 | 日韩一区二区在线免费观看 | 91在线播 | 国产精品大片在线观看 | 国产视频精品在线 | av大全在线看 | 毛片永久新网址首页 | 国产亚洲欧美精品久久久久久 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 在线观看韩国av | 亚洲精品乱码久久 | 色婷婷综合视频在线观看 | 人人玩人人添人人 | 911香蕉视频 | av免费看网站 | 狠狠五月婷婷 | 日韩在线视频不卡 | 天天操天天摸天天干 | 久久久久国产a免费观看rela | 911国产精品| 永久免费的av电影 | 亚洲综合色站 | 午夜资源站 | 成人久久视频 | av高清一区二区三区 | 手机在线小视频 | 手机看片| 四虎影视成人永久免费观看视频 | 日韩va欧美va亚洲va久久 | 一区二区三区四区影院 | 成人免费在线视频观看 | 在线日韩| 黄色www免费 | 国产在线a | 成人久久久久久久久久 | 欧美地下肉体性派对 | 天天添夜夜操 | 欧美激情va永久在线播放 | 欧美aaa视频| 国产91在线观看 | 胖bbbb搡bbbb擦bbbb | 亚洲成人资源在线观看 | av在线免费观看网站 | 国产精品久久久久久久免费大片 | 欧美日韩国产综合网 | 日韩av网站在线播放 | 日韩高清黄色 | 欧美xxxxx在线视频 | 久久久久久久久久亚洲精品 | 久久天天躁狠狠躁亚洲综合公司 | 97视频网站| 亚洲国产mv | 五月婷香蕉久色在线看 | 日韩欧美xxx | 一级精品视频在线观看宜春院 | 又黄又爽又色无遮挡免费 | 国产一区二区在线影院 | 99视频精品全部免费 在线 | 国产精品午夜久久 | 亚洲精品videossex少妇 | 国产艹b视频 | 狠狠干婷婷色 | 成人一级黄色片 | 欧美综合色在线图区 | 亚洲综合色丁香婷婷六月图片 | 国产麻豆果冻传媒在线观看 | 国产乱码精品一区二区三区介绍 | 欧美日韩一区二区在线观看 | 欧美久久综合 | 日韩在线网 | 日日干 天天干 | 色丁香久久 | 天天色天天射综合网 | 欧美日韩国产一区二区在线观看 | 888av| 国产资源| www五月天| 免费看一及片 | 91天堂影院 | 日韩va欧美va亚洲va久久 | 天天艹日日干 | 91大神精品视频在线观看 | 日韩网站在线观看 | 亚洲国产精品va在线看黑人动漫 | 日韩欧美一区二区三区在线观看 | 亚洲欧美在线视频免费 | 久草久草久草久草 | 久久欧美视频 | 午夜精品成人一区二区三区 | 精品国内自产拍在线观看视频 | 九色视频自拍 | 国产成人在线观看免费 | 国内综合精品午夜久久资源 | 好看的国产精品视频 | 成人毛片一区 | 国产日韩在线看 | 亚洲一区二区三区miaa149 | 超碰在线97观看 | 中文字幕在线播放一区 | 欧美性猛片, | 欧美怡红院视频 | 992tv人人草 黄色国产区 | 久久草视频 | av免费看网站 | 又黄又刺激视频 | 午夜精品电影 | 日本丰满少妇免费一区 | 亚洲黄色大片 | 成人影音在线 | 激情欧美在线观看 | 国产成人免费在线 | 在线日韩中文 | 日操干| 日本99热| 成人四虎影院 | 日韩高清 一区 | 99久久精品无免国产免费 | 成 人 黄 色 视频播放1 | 美女视频是黄的免费观看 | 成人免费视频网站在线观看 | 精品视频免费久久久看 | 欧美夫妻性生活电影 | 天天综合成人 | 国产午夜视频在线观看 | 日韩最新av| 日韩视频中文 | 午夜私人影院 | 免费看一级 | 国产一区二区高清不卡 | 国产剧情在线一区 | 日韩免 | 五月天堂网 | 日韩高清在线一区二区三区 | 精品国产综合区久久久久久 | 日日干天天射 | 国产精品岛国久久久久久久久红粉 | 欧美精品久久久久久久久免 | 色综合色综合久久综合频道88 | 国产淫片免费看 | 中文字幕在线视频网站 | 激情网色 | 中文字幕日韩国产 | 国产一级片免费播放 | 视频在线播放国产 | 婷婷六月综合亚洲 | 特级黄色片免费看 | 亚洲成人资源在线观看 | 精品一区 在线 | 性色av一区二区三区在线观看 | 天天干夜夜想 | 92av视频| 亚洲天堂社区 | 中文字幕乱码电影 | 激情婷婷亚洲 | 天天操天天舔天天干 | 久久tv| 国产精品自产拍在线观看中文 | 狠狠色丁香久久婷婷综合五月 | 99精品视频网站 | 丝袜美腿在线视频 | 久久久色 | 亚洲国产小视频在线观看 | 久久国产精品一二三区 | 五月激情视频 | 久久精品牌麻豆国产大山 | 欧洲精品亚洲精品 | 亚洲一区日韩在线 | 中文字幕 婷婷 | 349k.cc看片app| 91女人18片女毛片60分钟 | 亚洲永久精品一区 | 最近能播放的中文字幕 | 五月婷婷另类国产 | 免费网站黄色 | 香蕉久草 | 天天射天天爱天天干 | 久久久免费观看 | 久草电影在线观看 | 91热爆视频 | 国产精品扒开做爽爽的视频 | av丝袜制服| 天天操天天操天天操天天操天天操 | 女人18片毛片90分钟 | 精品久久一区二区 | 久久99视频 | 超碰在线天天 | 欧美日韩在线视频一区二区 | 日本久久精品 | 日韩资源视频 | 国产精品扒开做爽爽的视频 | 国产麻豆果冻传媒在线观看 | 日韩免费视频在线观看 | 国精产品999国精产 久久久久 | 欧美做受高潮电影o | 在线免费黄色 | 欧美性做爰猛烈叫床潮 | 91人人插| 午夜.dj高清免费观看视频 | 91精品久久久久久久久久入口 | 99久久99久国产黄毛片 | 蜜臀久久99静品久久久久久 | 亚洲精品乱码久久久久久按摩 | 日韩在线观看第一页 | 四虎在线免费视频 | 欧美精品免费一区二区 | 永久免费毛片在线观看 | 久草在线国产 | aⅴ精品av导航 | 亚洲一区视频在线播放 | 亚洲女在线 | 婷婷色在线资源 | 成人国产精品免费 | 中文字字幕在线 | 美女视频国产 | 国产在线自 | 国产精品videoxxxx| 亚洲天堂首页 | 中文字幕视频 | 国产精品免费视频观看 | 婷婷激情综合网 | 九草在线观看 | 91av在线视频播放 | 午夜精品久久久久久99热明星 | 国产免费人成xvideos视频 | 午夜视频欧美 | www.99av| 91桃色免费视频 | 91人人人 | 精品一区二区综合 | 亚洲一级二级 | 丁香综合激情 | 一级黄色片毛片 | 亚洲成人免费观看 | 久久九九国产视频 | 国产精品自产拍在线观看蜜 | 天天鲁一鲁摸一摸爽一爽 | www.久久视频 | 国产精品嫩草55av | 成人小电影在线看 | 精品免费久久久久 | 日韩中文字幕在线不卡 | 高清一区二区三区 | 国产精品日韩久久久久 | 欧美亚洲精品在线观看 | 国产在线观看免费 | 国产精品av在线免费观看 | 日韩免费高清在线观看 | 中文字幕在线观看资源 | 天天天干| 五月婷婷狠狠 | 欧美色道| 一本一本久久a久久 | 免费激情在线电影 | 9草在线| 久久99精品久久久久久久久久久久 | 婷婷综合影院 | 中文字幕视频网 | 婷婷丁香色 | 337p日本欧洲亚洲大胆裸体艺术 | 日本激情视频中文字幕 | 中文字幕免费成人 | 免费av在线网站 | 国产清纯在线 | 国内精自线一二区永久 | 成av人电影 | 成人免费视频视频在线观看 免费 | 亚洲国产视频直播 | 国产区av在线 | 天天爽天天碰狠狠添 | 日韩美av在线 | 欧美午夜精品久久久久久浪潮 | 麻豆高清免费国产一区 | 91精品视频免费在线观看 | 免费观看一级成人毛片 | 五月开心六月伊人色婷婷 | 国产日韩在线观看一区 | 天天艹天天 | 国产精品麻豆果冻传媒在线播放 | 亚洲午夜精品在线观看 | 婷婷在线色 | 成片免费观看视频999 | 成人小视频在线免费观看 | 91视频91色 | www.黄色片.com | 中文字幕精品一区久久久久 | 欧美激情精品一区 | 欧美精品在线观看 | 久久精品网站免费观看 | 99热精品在线| 蜜臀久久99静品久久久久久 | 福利视频入口 | 精品一区二区久久久久久久网站 | 亚洲专区中文字幕 | 精品一区二区三区香蕉蜜桃 | 成人av观看| 一级电影免费在线观看 | 亚洲不卡123| 精品99在线| av在线h | 久久伦理 | 97在线观看免费高清完整版在线观看 | 91网站观看 | 国产亚洲免费观看 | 中文字幕黄色网 | wwwwwww黄| 在线视频精品 | 亚洲aⅴ免费在线观看 | 在线国产视频一区 | 91免费视频黄 | 人人草天天草 | 久久国产成人午夜av影院潦草 | 99视频99| 亚洲精品国产综合99久久夜夜嗨 | 在线视频欧美日韩 | 亚洲最新在线 | 久久精品亚洲一区二区三区观看模式 | 在线观看国产永久免费视频 | 国产在线观看 | 日日弄天天弄美女bbbb | 久久久影院官网 | 香蕉视频久久久 | 亚洲国产欧美一区二区三区丁香婷 | 国产一区二区三区免费在线观看 | 精品一区精品二区 | 婷婷精品视频 | 国产高清在线a视频大全 | 欧美一进一出抽搐大尺度视频 | 亚洲日本va在线观看 | 天天翘av| 91av国产视频 | 日本久久精品视频 | 99色在线播放 | 国产高清久久 | 国产精品一区二区免费在线观看 | 人人爽人人片 | 日韩高清dvd | 中文字幕在线观看网站 | 国偷自产中文字幕亚洲手机在线 | 国产成人精品一区二区在线 | 香蕉在线视频观看 | 欧美精品一区二区蜜臀亚洲 | 亚洲影视九九影院在线观看 | 又爽又黄又无遮挡网站动态图 | 亚洲三级网站 | 一区二区三区国产欧美 | 黄色av成人在线观看 | 欧美天天综合 | 日韩一区视频在线 | 欧美91精品久久久久国产性生爱 | 日本公妇在线观看 | 超碰人人91 | 日韩成人在线免费观看 | 能在线观看的日韩av | 国产中文字幕网 | 99国产免费网址 | 91中文字幕在线播放 | 五月婷婷狠狠 | 91av播放 | 免费av网站观看 | 中文字幕在线播放第一页 | 久草手机视频 | 激情综合亚洲 | 亚洲成人家庭影院 | 久草免费在线视频观看 | 超碰999| 在线播放国产精品 | 精品免费久久 | 亚洲精品国产成人av在线 | 日韩网站在线 | 日韩在线一区二区免费 | 三级黄色免费 | 在线电影a| av免费电影在线观看 | 国产精品久久久久久久久久久久久久 | 亚洲一区二区高潮无套美女 | 91精品在线免费观看视频 | 色的网站在线观看 | 亚洲天堂网视频在线观看 | 午夜精品久久久久久久99热影院 | 日本精品一区二区在线观看 | 好看av在线 | 在线视频 成人 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 久久伊人八月婷婷综合激情 | 少妇av网 | 在线观看视频97 | 国产最顶级的黄色片在线免费观看 | 在线免费视频 你懂得 | 久久国产日韩 | 天天射日| 在线涩涩| 日韩一级片大全 | 91麻豆精品国产91久久久无限制版 | 欧美激情精品久久久久久 | 国产成人精品网站 | 色婷婷亚洲精品 | 久久人人爽人人爽人人 | 免费看黄在线网站 | 少妇精品久久久一区二区免费 | 国产精品18久久久 | 午夜精品久久久 | 精品免费久久久久久 | 最新中文在线视频 | 亚洲国产精品va在线 | 国产免费精彩视频 | 99精品视频在线播放观看 | 91高清免费 | 亚洲免费一级电影 | 欧美性色19p | 国产精品视频大全 | 美女视频黄免费网站 | 中文字幕在线观看一区二区 | 一级片视频在线 | 国产小视频你懂的 | 性色av免费在线观看 | 国产精品久久久久久久久久免费看 | 99国产一区二区三精品乱码 | 一区二区三区在线看 | 久久人人添人人爽添人人88v | 午夜精品视频在线 | 日韩免费视频观看 | 永久免费的啪啪网站免费观看浪潮 | 国产精品999久久久 久产久精国产品 | 久久综合99 | www五月 | 黄色片免费电影 | 国产视频一区二区在线播放 | 亚洲一区不卡视频 | 亚洲一区二区麻豆 | 免费国产一区二区 | 国产成人高清在线 | 麻豆传媒视频观看 | 一区视频在线 | 日日综合 | 国产伦理久久精品久久久久_ | 蜜臀久久99精品久久久无需会员 | 亚洲小视频在线观看 | 久草观看视频 | 天天综合亚洲 | 天天干,天天射,天天操,天天摸 | 黄网站色视频免费观看 | 亚洲精品裸体 | av在线收看 | 丁香六月网| 久久激情五月激情 | 中文资源在线观看 | 涩涩成人在线 | 在线观看免费 | 欧美福利久久 | 国产在线视频导航 | 亚洲综合视频网 | 国产一区欧美在线 | 香蕉视频在线网站 | 久久国产综合视频 | 中文字幕精品一区二区精品 | 亚洲综合激情五月 | 九九欧美 | 国产日韩欧美在线 | 亚洲精品一区二区网址 | 欧美国产日韩中文 | 久久久久久国产精品美女 | 午夜色场 | 国产精品久久久久久久久软件 | 久久在线免费 | 亚洲另类视频在线观看 | 天天操综 | 激情五月综合网 | 日韩在线观看a | 狠狠干中文字幕 | 操少妇视频 | 伊人干综合| 欧美日韩在线精品 | 一级电影免费在线观看 | 国产一线在线 | 欧美大片在线看免费观看 | 91精品在线视频 | 日日干日日色 | 日韩中文字幕免费在线播放 | 成人在线观看免费 | 免费视频18| 在线免费高清一区二区三区 | 亚洲国产精品视频在线观看 | av大全在线看 | 欧美日韩国产免费视频 | 亚洲精品mv在线观看 | 婷婷综合激情 | 亚洲成人精品在线观看 | 一级欧美黄 | 久久电影中文字幕视频 | 午夜 免费 | 九九视频免费观看视频精品 | 国偷自产视频一区二区久 | 97精产国品一二三产区在线 | 久久久久久久久综合 | 在线免费看片 | 91大神dom调教在线观看 | 久保带人| 在线观看免费日韩 | 激情五月六月婷婷 | 国产系列 在线观看 | 成人国产精品久久久久久亚洲 | 亚洲成人二区 | 中文字幕你懂的 | 在线视频免费观看 | 九九热国产视频 | 成人影音av| 久久高清国产视频 | 国产一级视频免费看 | 国产99久久久精品视频 | 2023av在线| 久草在线视频免费资源观看 | 国产精品尤物视频 | 超碰97人人射妻 | 激情在线网址 | 久久久久国产精品视频 | 亚洲黄色区 | 国产一区二区在线观看免费 | 蜜臀av夜夜澡人人爽人人桃色 | 美女黄频视频大全 | 97在线视| 日韩素人在线观看 | 久草在线视频在线 | 亚洲精品一区二区三区四区高清 | 一区二区三区四区在线 | 夜夜视频欧洲 | 日韩欧美在线观看一区二区 | 国产一级二级在线播放 | 黄色一级大片免费看 | 国产福利一区二区在线 | 久久9999久久免费精品国产 | 中文字幕亚洲字幕 | 免费激情网 | 欧美精品久久久久久久久免 | 久久人人爽人人爽人人片av软件 | 九九热在线精品 | 久久免费黄色网址 | 精品人人人 | 五月天久久综合网 | 人交video另类hd | 美女亚洲精品 | 九九久久精品视频 | 69中文字幕 | 激情欧美一区二区免费视频 | 在线观看视频一区二区三区 | 五月的婷婷 | 日本中文一区二区 | www.888.av| 在线免费黄色 | 欧美日韩国产三级 | 日韩免费福利 | 99精品热视频只有精品10 | 国产精品白虎 | 青草视频在线免费 | 日韩亚洲欧美中文字幕 | 久久久99精品免费观看 | 在线免费国产视频 | av日韩精品| 一级片免费在线 | 亚洲精品99久久久久中文字幕 | 日韩视频一区二区在线 | 99久久精品国产系列 | 黄在线| 国产日韩精品欧美 | 国产精品2018| 国产精品永久免费视频 | 日韩av播放在线 | 黄色a视频 | 伊人天天干 | 九九精品视频在线观看 | 亚洲国产影院 | 91精品婷婷国产综合久久蝌蚪 | 国内精品久久久久影院男同志 | 在线亚洲日本 | 日日夜夜精品视频天天综合网 | 色天天中文 | 免费97视频 | 九九色视频 | 久久99精品久久久久久久久久久久 | 在线观看蜜桃视频 | 国产福利精品一区二区 | 日韩黄视频 | 亚洲女人av| 欧美日韩视频在线观看一区二区 | 日韩在线观看高清 | 久久久国产精品免费 | 黄色a在线观看 | 久久视频这里有精品 | 国产高清免费 | 日韩激情精品 | 国产裸体视频bbbbb | 欧美在线观看小视频 | 狠狠干在线 | 狠狠操91 | 色在线高清 | 日日爽天天操 | 97超在线 | 国产精品麻豆三级一区视频 | 国产在线观看地址 | 丁香六月婷婷开心婷婷网 | 亚洲国产精品成人女人久久 | 一区二区三区视频网站 | 国产中的精品av小宝探花 | 天天操夜操 | 岛国片在线| aa一级片 | 99久久精品无码一区二区毛片 | 国产亚洲免费的视频看 | 在线日韩亚洲 | 欧美另类网站 | 九九热国产 | 丝袜美腿一区 | 色综合久久88 | 日本性生活免费看 | 国产在线一区二区三区播放 | 欧美激情另类文学 | 亚洲涩综合 | 久久精品一区二区三区国产主播 | 欧美国产不卡 | 日本中文字幕在线观看 | 日韩免费不卡av | 国产精品综合久久久 | 日韩性xxxx | 超碰97人人在线 | 激情久久影院 | 久久国产精品一区二区三区四区 | 啪嗒啪嗒免费观看完整版 | 国产精品 中文字幕 亚洲 欧美 | 在线v片免费观看视频 | 三级小视频在线观看 | 在线播放精品一区二区三区 | 亚洲精品国产精品国 | 亚洲国产播放 | 欧美99精品| 97超碰人人澡人人爱学生 | 欧美韩国日本在线观看 | 日本高清中文字幕有码在线 | 一级黄色毛片 | 欧美色噜噜噜 | 美女黄视频免费看 | 久草精品资源 | www色av| 精品一区二区三区久久 | 97网在线观看 | 久久午夜影视 | 激情av在线播放 | 永久中文字幕 | 国内精品毛片 | 亚洲aⅴ在线 | 欧洲一区二区在线观看 | 美女免费视频黄 | 成人午夜久久 | 国产一区欧美日韩 | av在线超碰 | 久久国产亚洲视频 | 久久久久免费 | 99电影456麻豆 | 精品国产区 | 婷婷综合影院 | 在线免费日韩 | 日韩欧美在线观看一区二区 | 免费在线观看成年人视频 | 国产自在线 | 在线观看黄色免费视频 | 亚州欧美精品 | 99免费在线视频 | 97av视频在线观看 | 99久久精品免费 | 成人黄色免费在线观看 | 深夜男人影院 | 91av免费在线观看 | 91九色网址| 久久av一区二区三区亚洲 | 一区二区在线影院 | 色偷偷男人的天堂av | 91视频 - v11av | 丁香婷婷激情网 | 97超碰在线免费 | 成人av高清 | a视频免费看| 国产区av在线 | 最近中文字幕在线中文高清版 | 国产无区一区二区三麻豆 | 日本在线观看一区二区 | 午夜久久久久久久久久久 | 亚洲蜜桃av| 日韩午夜电影 | 成年人av在线播放 | 久草网视频在线观看 | www.av中文字幕.com | av电影在线观看 | 久久久久一区二区三区四区 | 亚洲影音先锋 | 欧美精品黑人性xxxx | 激情在线网站 | 91人人网 | 在线观看片| 国内成人综合 | 久久黄色免费观看 | 久久精品女人毛片国产 | 国产三级国产精品国产专区50 | 97超级碰| 又黄又刺激的网站 | 91成人精品视频 | 超碰97人人在线 | www.888.av | 最近2019中文免费高清视频观看www99 | 欧美日韩伦理在线 | 国产成人精品电影久久久 | 久久中文视频 | 四虎成人精品永久免费av九九 | 免费在线黄 | 久久久黄色免费网站 | 91成人免费看片 | 91九色国产 | 亚洲精品视频在线观看免费视频 | 国产在线综合视频 | 国产色小视频 | 不卡av在线免费观看 | 91九色视频导航 | 日韩高清无线码2023 | 在线观看视频你懂的 | 波多野结衣精品视频 | 日韩在线二区 | 九九免费精品视频在线观看 | 美女在线免费观看视频 | 成人aⅴ视频 | 伊人伊成久久人综合网小说 | 婷婷性综合 | 亚洲成人免费观看 | 国产无套视频 | 国产精品一区在线 | 丁香九月激情 | 亚洲mv大片欧洲mv大片免费 | 成人av电影在线观看 |