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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

redis 延时任务

發布時間:2024/1/17 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis 延时任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引言


在開發中,往往會遇到一些關于延時任務的需求。例如

生成訂單30分鐘未支付,則自動取消

生成訂單60秒后,給用戶發短信

對上述的任務,我們給一個專業的名字來形容,那就是延時任務。那么這里就會產生一個問題,這個延時任務和定時任務的區別究竟在哪里呢?一共有如下幾點區別

定時任務有明確的觸發時間,延時任務沒有

定時任務有執行周期,而延時任務在某事件觸發后一段時間內執行,沒有執行周期

定時任務一般執行的是批處理操作是多個任務,而延時任務一般是單個任務

下面,我們以判斷訂單是否超時為例,進行方案分析

方案分析


(1)數據庫輪詢


思路


該方案通常是在小型項目中使用,即通過一個線程定時的去掃描數據庫,通過訂單時間來判斷是否有超時的訂單,然后進行update或delete等操作

實現


博主當年早期是用quartz來實現的(實習那會的事),簡單介紹一下


maven項目引入一個依賴如下所示

????<dependency>

????????<groupId>org.quartz-scheduler</groupId>

????????<artifactId>quartz</artifactId>

????????<version>2.2.2</version>

????</dependency>

調用Demo類MyJob如下所示

package?com.rjzheng.delay1;

?

import?org.quartz.JobBuilder;

import?org.quartz.JobDetail;

import?org.quartz.Scheduler;

import?org.quartz.SchedulerException;

import?org.quartz.SchedulerFactory;

import?org.quartz.SimpleScheduleBuilder;

import?org.quartz.Trigger;

import?org.quartz.TriggerBuilder;

import?org.quartz.impl.StdSchedulerFactory;

import?org.quartz.Job;

import?org.quartz.JobExecutionContext;

import?org.quartz.JobExecutionException;

?

public?class?MyJob?implements?Job?{

????public?void?execute(JobExecutionContext?context)

????????????throws?JobExecutionException?{

????????System.out.println("要去數據庫掃描啦。。。");

????}

?

????public?static?void?main(String[]?args)?throws?Exception?{

????????// 創建任務

????????JobDetail?jobDetail?=?JobBuilder.newJob(MyJob.class)

????????????????.withIdentity("job1",?"group1").build();

????????// 創建觸發器 每3秒鐘執行一次

????????Trigger?trigger?=?TriggerBuilder

????????????????.newTrigger()

????????????????.withIdentity("trigger1",?"group3")

????????????????.withSchedule(

????????????????????????SimpleScheduleBuilder.simpleSchedule()

????????????????????????????????.withIntervalInSeconds(3).repeatForever())

????????????????.build();

????????Scheduler?scheduler?=?new?StdSchedulerFactory().getScheduler();

????????// 將任務及其觸發器放入調度器

????????scheduler.scheduleJob(jobDetail,?trigger);

????????// 調度器開始調度任務

????????scheduler.start();

????}

}

運行代碼,可發現每隔3秒,輸出如下

要去數據庫掃描啦。。。

優缺點

優點:簡單易行,支持集群操作

缺點:(1)對服務器內存消耗大

(2)存在延遲,比如你每隔3分鐘掃描一次,那最壞的延遲時間就是3分鐘

(3)假設你的訂單有幾千萬條,每隔幾分鐘這樣掃描一次,數據庫損耗極大

(2)JDK的延遲隊列

思路

該方案是利用JDK自帶的DelayQueue來實現,這是一個無界阻塞隊列,該隊列只有在延遲期滿的時候才能從中獲取元素,放入DelayQueue中的對象,是必須實現Delayed接口的。


DelayedQueue實現工作流程如下圖所示

其中Poll():獲取并移除隊列的超時元素,沒有則返回空


take():獲取并移除隊列的超時元素,如果沒有則wait當前線程,直到有元素滿足超時條件,返回結果。

實現


定義一個類OrderDelay實現Delayed,代碼如下

package?com.rjzheng.delay2;

?

import?java.util.concurrent.Delayed;

import?java.util.concurrent.TimeUnit;

?

public?class?OrderDelay?implements?Delayed?{

????

????private?String?orderId;

????private?long?timeout;

?

????OrderDelay(String?orderId,?long?timeout)?{

????????this.orderId?=?orderId;

????????this.timeout?=?timeout?+?System.nanoTime();

????}

?

????public?int?compareTo(Delayed?other)?{

????????if?(other?==?this)

????????????return?0;

????????OrderDelay?t?=?(OrderDelay)?other;

????????long?d?=?(getDelay(TimeUnit.NANOSECONDS)?-?t

????????????????.getDelay(TimeUnit.NANOSECONDS));

????????return?(d?==?0)???0?:?((d?<?0)???-1?:?1);

????}

?

????// 返回距離你自定義的超時時間還有多少

????public?long?getDelay(TimeUnit?unit)?{

????????return?unit.convert(timeout?-?System.nanoTime(),TimeUnit.NANOSECONDS);

????}

?

????void?print()?{

????????System.out.println(orderId+"編號的訂單要刪除啦。。。。");

????}

}

運行的測試Demo為,我們設定延遲時間為3秒

package?com.rjzheng.delay2;

?

import?java.util.ArrayList;

import?java.util.List;

import?java.util.concurrent.DelayQueue;

import?java.util.concurrent.TimeUnit;

?

public?class?DelayQueueDemo?{

?????public?static?void?main(String[]?args)?{??

????????????// TODO Auto-generated method stub??

????????????List<String>?list?=?new?ArrayList<String>();??

????????????list.add("00000001");??

????????????list.add("00000002");??

????????????list.add("00000003");??

????????????list.add("00000004");??

????????????list.add("00000005");??

????????????DelayQueue<OrderDelay>?queue?=?newDelayQueue<OrderDelay>();??

????????????long?start?=?System.currentTimeMillis();??

????????????for(int?i?=?0;i<5;i++){??

????????????????//延遲三秒取出

????????????????queue.put(new?OrderDelay(list.get(i),??

????????????????????????TimeUnit.NANOSECONDS.convert(3,TimeUnit.SECONDS)));??

????????????????????try?{??

?????????????????????????queue.take().print();??

?????????????????????????System.out.println("After "?+??

?????????????????????????????????(System.currentTimeMillis()-start)?+?" MilliSeconds");??

????????????????}?catch?(InterruptedException?e)?{??

????????????????????// TODO Auto-generated catch block??

????????????????????e.printStackTrace();??

????????????????}??

????????????}??

????????}??

????

}

輸出如下

00000001編號的訂單要刪除啦。。。。

After?3003?MilliSeconds

00000002編號的訂單要刪除啦。。。。

After?6006?MilliSeconds

00000003編號的訂單要刪除啦。。。。

After?9006?MilliSeconds

00000004編號的訂單要刪除啦。。。。

After?12008?MilliSeconds

00000005編號的訂單要刪除啦。。。。

After?15009?MilliSeconds

可以看到都是延遲3秒,訂單被刪除

優缺點


優點:效率高,任務觸發時間延遲低。


缺點:(1)服務器重啟后,數據全部消失,怕宕機
(2)集群擴展相當麻煩
(3)因為內存條件限制的原因,比如下單未付款的訂單數太多,那么很容易就出現OOM異常
(4)代碼復雜度較高


(3)時間輪算法


思路


先上一張時間輪的圖(這圖到處都是啦)

時間輪算法可以類比于時鐘,如上圖箭頭(指針)按某一個方向按固定頻率輪動,每一次跳動稱為一個 tick。這樣可以看出定時輪由個3個重要的屬性參數,ticksPerWheel(一輪的tick數),tickDuration(一個tick的持續時間)以及 timeUnit(時間單位),例如當ticksPerWheel=60,tickDuration=1,timeUnit=秒,這就和現實中的始終的秒針走動完全類似了。

如果當前指針指在1上面,我有一個任務需要4秒以后執行,那么這個執行的線程回調或者消息將會被放在5上。那如果需要在20秒之后執行怎么辦,由于這個環形結構槽數只到8,如果要20秒,指針需要多轉2圈。位置是在2圈之后的5上面(20 % 8 + 1)

實現


我們用Netty的HashedWheelTimer來實現


給Pom加上下面的依賴

????????<dependency>

????????????<groupId>io.netty</groupId>

????????????<artifactId>netty-all</artifactId>

????????????<version>4.1.24.Final</version>

????????</dependency>

測試代碼HashedWheelTimerTest如下所示

package?com.rjzheng.delay3;

?

import?io.netty.util.HashedWheelTimer;

import?io.netty.util.Timeout;

import?io.netty.util.Timer;

import?io.netty.util.TimerTask;

?

import?java.util.concurrent.TimeUnit;

?

public?class?HashedWheelTimerTest?{

????static?class?MyTimerTask?implements?TimerTask{

????????boolean?flag;

????????public?MyTimerTask(boolean?flag){

????????????this.flag?=?flag;

????????}

????????public?void?run(Timeout?timeout)?throws?Exception?{

????????????// TODO Auto-generated method stub

?????????????System.out.println("要去數據庫刪除訂單了。。。。");

?????????????this.flag?=false;

????????}

????}

????public?static?void?main(String[]?argv)?{

????????MyTimerTask?timerTask?=?new?MyTimerTask(true);

????????Timer?timer?=?new?HashedWheelTimer();

????????timer.newTimeout(timerTask,?5,?TimeUnit.SECONDS);

????????int?i?=?1;

????????while(timerTask.flag){

????????????try?{

????????????????Thread.sleep(1000);

????????????}?catch?(InterruptedException?e)?{

????????????????// TODO Auto-generated catch block

????????????????e.printStackTrace();

????????????}

????????????System.out.println(i+"秒過去了");

????????????i++;

????????}

????}

}

輸出如下

1秒過去了

2秒過去了

3秒過去了

4秒過去了

5秒過去了

要去數據庫刪除訂單了。。。。

6秒過去了

優缺點

優點:效率高,任務觸發時間延遲時間比delayQueue低,代碼復雜度比delayQueue低。

缺點:(1)服務器重啟后,數據全部消失,怕宕機

(2)集群擴展相當麻煩

(3)因為內存條件限制的原因,比如下單未付款的訂單數太多,那么很容易就出現OOM異常

(4)redis緩存

- 思路一

利用redis的zset,zset是一個有序集合,每一個元素(member)都關聯了一個score,通過score排序來取集合中的值

添加元素:ZADD key score member [[score member] [score member] …]

按順序查詢元素:ZRANGE key start stop [WITHSCORES]

查詢元素score:ZSCORE key member

移除元素:ZREM key member [member …]

測試如下

# 添加單個元素

?

redis>?ZADD?page_rank?10?google.com

(integer)?1

?

?

# 添加多個元素

?

redis>?ZADD?page_rank?9?baidu.com?8?bing.com

(integer)?2

?

redis>?ZRANGE?page_rank?0?-1?WITHSCORES

1)?"bing.com"

2)?"8"

3)?"baidu.com"

4)?"9"

5)?"google.com"

6)?"10"

?

# 查詢元素的score值

redis>?ZSCORE page_rank?bing.com

"8"

?

# 移除單個元素

?

redis>?ZREM page_rank?google.com

(integer)?1

?

redis>?ZRANGE?page_rank?0?-1?WITHSCORES

1)?"bing.com"

2)?"8"

3)?"baidu.com"

4)?"9"

那么如何實現呢?我們將訂單超時時間戳與訂單號分別設置為score和member,系統掃描第一個元素判斷是否超時,具體如下圖所示


實現一


package?com.rjzheng.delay4;

?

import?java.util.Calendar;

import?java.util.Set;

?

import?redis.clients.jedis.Jedis;

import?redis.clients.jedis.JedisPool;

import?redis.clients.jedis.Tuple;

?

public?class?AppTest?{

????private?static?final?String?ADDR?=?"127.0.0.1";

????private?static?final?int?PORT?=?6379;

????private?static?JedisPool?jedisPool?=?new?JedisPool(ADDR,?PORT);

????

????public?static?Jedis getJedis()?{

???????return?jedisPool.getResource();

????}

????

????//生產者,生成5個訂單放進去

????public?void?productionDelayMessage(){

????????for(int?i=0;i<5;i++){

????????????//延遲3秒

????????????Calendar?cal1?=?Calendar.getInstance();

????????????cal1.add(Calendar.SECOND,?3);

????????????int?second3later?=?(int)?(cal1.getTimeInMillis()?/?1000);

????????????AppTest.getJedis().zadd("OrderId",second3later,"OID0000001"+i);

????????????System.out.println(System.currentTimeMillis()+"ms:redis生成了一個訂單任務:訂單ID為"+"OID0000001"+i);

????????}

????}

????

????//消費者,取訂單

????public?void?consumerDelayMessage(){

????????Jedis?jedis?=?AppTest.getJedis();

????????while(true){

????????????Set<Tuple>?items?=?jedis.zrangeWithScores("OrderId",?0,?1);

????????????if(items?==?null?||?items.isEmpty()){

????????????????System.out.println("當前沒有等待的任務");

????????????????try?{

????????????????????Thread.sleep(500);

????????????????}?catch?(InterruptedException?e)?{

????????????????????// TODO Auto-generated catch block

????????????????????e.printStackTrace();

????????????????}

????????????????continue;

????????????}

????????????int??score?=?(int)?((Tuple)items.toArray()[0]).getScore();

????????????Calendar?cal?=?Calendar.getInstance();

????????????int?nowSecond?=?(int)?(cal.getTimeInMillis()?/?1000);

????????????if(nowSecond?>=?score){

????????????????String?orderId?=?((Tuple)items.toArray()[0]).getElement();

????????????????jedis.zrem("OrderId",?orderId);

????????????????System.out.println(System.currentTimeMillis()?+"ms:redis消費了一個任務:消費的訂單OrderId為"+orderId);

????????????}

????????}

????}

????

????public?static?void?main(String[]?args)?{

????????AppTest?appTest?=new?AppTest();

????????appTest.productionDelayMessage();

????????appTest.consumerDelayMessage();

????}

????

}

此時對應輸出如下

可以看到,幾乎都是3秒之后,消費訂單。

然而,這一版存在一個致命的硬傷,在高并發條件下,多消費者會取到同一個訂單號,我們上測試代碼ThreadTest

package?com.rjzheng.delay4;

?

import?java.util.concurrent.CountDownLatch;

?

public?class?ThreadTest?{

????private?static?final?int?threadNum?=?10;

????private?static?CountDownLatch?cdl?=?newCountDownLatch(threadNum);

????static?class?DelayMessage?implements?Runnable{

????????public?void?run()?{

????????????try?{

????????????????cdl.await();

????????????}?catch?(InterruptedException?e)?{

????????????????// TODO Auto-generated catch block

????????????????e.printStackTrace();

????????????}

????????????AppTest?appTest?=new?AppTest();

????????????appTest.consumerDelayMessage();

????????}

????}

????public?static?void?main(String[]?args)?{

????????AppTest?appTest?=new?AppTest();

????????appTest.productionDelayMessage();

????????for(int?i=0;i<threadNum;i++){

????????????new?Thread(new?DelayMessage()).start();

????????????cdl.countDown();

????????}

????}

}

輸出如下所示

顯然,出現了多個線程消費同一個資源的情況。

解決方案

(1)用分布式鎖,但是用分布式鎖,性能下降了,該方案不細說。

(2)對ZREM的返回值進行判斷,只有大于0的時候,才消費數據,于是將consumerDelayMessage()方法里的

if(nowSecond?>=?score){

????String?orderId?=?((Tuple)items.toArray()[0]).getElement();

????jedis.zrem("OrderId",?orderId);

????System.out.println(System.currentTimeMillis()+"ms:redis消費了一個任務:消費的訂單OrderId為"+orderId);

}

修改為

if(nowSecond?>=?score){

????String?orderId?=?((Tuple)items.toArray()[0]).getElement();

????Long?num?=?jedis.zrem("OrderId",?orderId);

????if(?num?!=?null?&&?num>0){

????????System.out.println(System.currentTimeMillis()+"ms:redis消費了一個任務:消費的訂單OrderId為"+orderId);

????}

}

在這種修改后,重新運行ThreadTest類,發現輸出正常了

- 思路二

該方案使用redis的Keyspace Notifications,中文翻譯就是鍵空間機制,就是利用該機制可以在key失效之后,提供一個回調,實際上是redis會給客戶端發送一個消息。是需要redis版本2.8以上。

實現二

在redis.conf中,加入一條配置

notify-keyspace-events Ex

運行代碼如下

package?com.rjzheng.delay5;

?

import?redis.clients.jedis.Jedis;

import?redis.clients.jedis.JedisPool;

import?redis.clients.jedis.JedisPubSub;

?

public?class?RedisTest?{

????private?static?final?String?ADDR?=?"127.0.0.1";

????private?static?final?int?PORT?=?6379;

????private?static?JedisPool?jedis?=?new?JedisPool(ADDR,?PORT);

????private?static?RedisSub?sub?=?new?RedisSub();

?

????public?static?void?init()?{

????????new?Thread(new?Runnable()?{

????????????public?void?run()?{

????????????????jedis.getResource().subscribe(sub,?"__keyevent@0__:expired");

????????????}

????????}).start();

????}

?

????public?static?void?main(String[]?args)?throws?InterruptedException?{

????????init();

????????for(int?i?=0;i<10;i++){

????????????String?orderId?=?"OID000000"+i;

????????????jedis.getResource().setex(orderId,?3,?orderId);

????????????System.out.println(System.currentTimeMillis()+"ms:"+orderId+"訂單生成");

????????}

????}

????

????static?class?RedisSub?extends?JedisPubSub?{

????????<ahref='http://www.jobbole.com/members/wx610506454'>@Override</a>

????????public?void?onMessage(String?channel,?String?message)?{

????????????System.out.println(System.currentTimeMillis()+"ms:"+message+"訂單取消");

????????}

????}

}

輸出如下

可以明顯看到3秒過后,訂單取消了


ps:redis的pub/sub機制存在一個硬傷,官網內容如下

原:Because Redis Pub/Sub is fire and forget currently there is no way to use this feature if your application demands reliable notification of events, that is, if your Pub/Sub client disconnects, and reconnects later, all the events delivered during the time the client was disconnected are lost.


翻: Redis的發布/訂閱目前是即發即棄(fire and forget)模式的,因此無法實現事件的可靠通知。也就是說,如果發布/訂閱的客戶端斷鏈之后又重連,則在客戶端斷鏈期間的所有事件都丟失了。
因此,方案二不是太推薦。當然,如果你對可靠性要求不高,可以使用。


優缺點


優點:(1)由于使用Redis作為消息通道,消息都存儲在Redis中。如果發送程序或者任務處理程序掛了,重啟之后,還有重新處理數據的可能性。
(2)做集群擴展相當方便
(3)時間準確度高


缺點:(1)需要額外進行redis維護


(5)使用消息隊列


我們可以采用rabbitMQ的延時隊列。RabbitMQ具有以下兩個特性,可以實現延遲隊列

RabbitMQ可以針對Queue和Message設置 x-message-tt,來控制消息的生存時間,如果超時,則消息變為dead letter

lRabbitMQ的Queue可以配置x-dead-letter-exchange 和x-dead-letter-routing-key(可選)兩個參數,用來控制隊列內出現了deadletter,則按照這兩個參數重新路由。
結合以上兩個特性,就可以模擬出延遲消息的功能,具體的,我改天再寫一篇文章,這里再講下去,篇幅太長。


優缺點


優點: 高效,可以利用rabbitmq的分布式特性輕易的進行橫向擴展,消息支持持久化增加了可靠性。


缺點:本身的易用度要依賴于rabbitMq的運維.因為要引用rabbitMq,所以復雜度和成本變高
?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的redis 延时任务的全部內容,希望文章能夠幫你解決所遇到的問題。

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

日韩av综合网站 | 在线黄色免费 | 久久这里只有精品视频首页 | 在线观看av黄色 | 亚洲一区视频免费观看 | 久久99精品久久只有精品 | 国产精品毛片久久久久久 | 国产原厂视频在线观看 | 久久综合精品一区 | 精品一二三四视频 | 综合网色 | 91麻豆免费视频 | 91热这里只有精品 | 成人欧美亚洲 | 亚洲最大成人网4388xx | 国产成人精品一区二区三区 | 天天se天天cao天天干 | 免费亚洲黄色 | 久久人人爽av | 免费av高清| 久草在线电影网 | bbw av| 精品一区二区免费视频 | 久久少妇免费视频 | 日韩在线免费高清视频 | 综合久色| 91精品国产综合久久福利不卡 | 亚洲免费av一区二区 | 麻豆国产网站入口 | 欧美综合在线观看 | 国产a视频免费观看 | 亚洲乱码一区 | 国产三级在线播放 | av九九九| 人人看人人爱 | 精品视频免费播放 | 日韩网| 国产国语在线 | 成人国产电影在线观看 | 亚洲视屏在线播放 | 日韩欧美xxxx | 激情欧美国产 | 色国产精品 | 国产精品免费一区二区三区在线观看 | 日女人电影 | 久久精品视频3 | 丝袜+亚洲+另类+欧美+变态 | 又湿又紧又大又爽a视频国产 | 激情片av| 色91在线视频 | 激情久久小说 | 日韩成人欧美 | 91精品1区 | 久草在线最新 | 国产一区二区在线免费播放 | 亚洲成人中文在线 | 中文字幕在线观看视频一区 | 波多野结衣久久精品 | 粉嫩av一区二区三区四区五区 | 久久久久久免费视频 | 久久久国产精品一区二区三区 | 伊人伊成久久人综合网站 | 国产精品破处视频 | 视频99爱| 国产生活一级片 | 91视频免费国产 | 韩国av不卡 | 视频在线观看99 | 超碰人人超 | 久久躁日日躁aaaaxxxx | 精品v亚洲v欧美v高清v | 精品亚洲午夜久久久久91 | 一区三区视频 | 91免费版成人 | 五月激情丁香婷婷 | 99久久er热在这里只有精品15 | 国产日产精品久久久久快鸭 | 国产在线色视频 | 操处女逼 | 麻豆91网站 | 日韩一级成人av | 久久视频99 | 色午夜影院| 四虎天堂 | 永久免费看av | 99久久激情| 特级a毛片 | 久久五月婷婷丁香社区 | 中文字幕一区二区三区四区在线视频 | 99欧美 | 日韩欧美高清视频在线观看 | 国产一区二区久久久 | 久久伦理 | 亚洲视频免费 | 综合国产在线 | 97视频网址| 玖玖在线视频观看 | 99视频久| 全黄网站 | 欧美黄在线 | 欧美国产91 | 国产精品视频永久免费播放 | 日韩免费一区 | 日韩国产欧美在线视频 | 日韩视频一二三区 | 国产97免费| 亚洲乱码中文字幕综合 | .国产精品成人自产拍在线观看6 | 久精品在线观看 | 日韩在线视频不卡 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 免费观看日韩av | 成人动态视频 | 狠狠躁夜夜躁人人爽视频 | 国产精品一区二区在线 | 日狠狠 | 天天亚洲| 成人av免费在线看 | 亚洲a资源 | 中文字幕免费高清在线观看 | 亚洲伊人av| 日产乱码一二三区别免费 | 婷婷五天天在线视频 | 玖玖国产精品视频 | 国产亚洲精品女人久久久久久 | 91干干干| 在线免费黄网站 | 久久草在线视频国产 | 久久影院中文字幕 | 97超碰在线资源 | 久久精品高清 | 日韩在线观看一区二区 | 国产视频中文字幕在线观看 | av激情五月 | 久久一区精品 | www.夜夜夜 | 亚洲电影黄色 | 又爽又黄在线观看 | 免费在线观看av | 九九热只有这里有精品 | 日本高清免费中文字幕 | 狠狠狠色丁香婷婷综合久久五月 | 欧美最新大片在线看 | 91精品久久久久久久久久入口 | 看国产黄色大片 | 精品一区 精品二区 | 国产一区二三区好的 | 国产精品成人免费 | 91九色国产在线 | 婷婷亚洲综合 | 日韩精品在线观看av | 国产精品美女免费看 | 久草精品在线观看 | 永久免费的av电影 | a在线免费观看视频 | 欧美国产大片 | 亚洲自拍偷拍色图 | 成人免费网站视频 | 8x成人在线 | 欧美一区二区三区在线视频观看 | 最新成人在线 | 国产美女视频网站 | 亚洲欧美成人综合 | 99热这里精品 | 亚洲亚洲精品在线观看 | 精品久久久久久国产 | 天天搞天天干 | 天天操天天干天天玩 | 欧美黑人巨大xxxxx | 日韩中字在线 | zzijzzij日本成熟少妇 | 国产中文字幕久久 | 中文在线www | 成人黄色电影在线播放 | 九九热免费视频在线观看 | 日韩精品一区二区三区不卡 | 日韩在线中文字幕视频 | 日韩大片在线免费观看 | 激情久久五月 | a级黄色片视频 | 中文永久字幕 | 91精品人成在线观看 | 深爱婷婷网 | 婷婷亚洲五月色综合 | 久久精品视频一 | 免费国产在线精品 | 日韩中文字幕第一页 | 美女免费网视频 | 亚洲电影黄色 | 中文字幕日本电影 | 成人9ⅰ免费影视网站 | 午夜18视频在线观看 | 精品国偷自产国产一区 | 中文字幕在线人 | 亚州精品视频 | 一区二区三区电影在线播 | 亚洲综合狠狠干 | 国产精品视频最多的网站 | 91中文字幕在线播放 | 97精品久久 | 亚洲91在线 | 亚洲精品合集 | 久久国产区 | 国产精品一区二区 91 | 一区二区三区av在线 | 亚洲视频一区二区三区在线观看 | 亚洲最大成人免费网站 | 欧美日韩1区2区 | 国产美女视频免费 | 日女人免费视频 | 欧美一二三在线 | 日本资源中文字幕在线 | 成人午夜黄色影院 | 欧美吞精 | 韩国精品福利一区二区三区 | www.久草视频| 国产一区成人 | 91免费看片黄 | 日韩高清不卡一区二区三区 | 国产精选在线 | 99精品免费 | 国产精品一区二区久久国产 | av短片在线观看 | 99在线热播精品免费99热 | 国产视频久久久久 | 狠狠躁天天躁 | 国产一区二区在线精品 | 欧美日韩伦理一区 | 就操操久久 | 亚洲黄色片一级 | 日本久久免费电影 | 美女精品 | 激情视频免费在线观看 | 久久国内精品99久久6app | 天堂麻豆 | 亚洲欧洲成人 | 免费三级黄 | 久久久久久久久久网站 | 亚洲美女视频在线 | 成人av资源网 | 天天爱天天射天天干天天 | 中国美女一级看片 | 一区二区三区久久 | 日韩精品一区二区三区高清免费 | 免费国产亚洲视频 | 成人免费视频网 | 国产亲近乱来精品 | 福利久久 | 国产成人精品国内自产拍免费看 | 天天性天天草 | 欧美一二三四在线 | 免费观看成人av | 成人啪啪18免费游戏链接 | 久久亚洲精品国产亚洲老地址 | 国产精品ssss在线亚洲 | 亚洲五月综合 | 国产成年免费视频 | 日韩毛片在线免费观看 | 国产精品美女在线 | 亚洲午夜久久久影院 | 久草视频在线观 | 中文字幕在线中文 | 国产精品99久久久久久人免费 | 久久无码精品一区二区三区 | 午夜性盈盈 | 中文字幕不卡在线88 | 日韩av一区二区三区四区 | 久久精品中文字幕少妇 | 欧美性天天 | 91精品一区二区三区蜜臀 | 黄色毛片视频免费观看中文 | 欧美天天干 | 欧美在线视频一区二区三区 | 久久色网站 | 免费看一级黄色大全 | 国产精品6 | 一区二区精品国产 | av在线免费在线观看 | 日韩精品一区二区三区免费视频观看 | 国产一级免费观看视频 | 亚洲 欧洲 国产 精品 | 久久五月情影视 | 国产精品毛片一区二区在线 | 亚洲国产人午在线一二区 | 亚洲激情电影在线 | 成人在线视频免费看 | 一区二区视频播放 | 精品国产一区在线观看 | 人人超在线公开视频 | 亚洲视频在线视频 | 国产裸体永久免费视频网站 | 国产96精品 | 天天爽夜夜爽人人爽一区二区 | 亚洲精品在线观看免费 | 国产成人精品av在线 | 国产精品综合av一区二区国产馆 | 久久久久久久久久久电影 | 亚洲日本韩国一区二区 | 黄污网站在线 | 香蕉视频国产在线 | 久久图 | 久久婷婷色 | 免费在线观看a v | 久久久在线视频 | 在线之家免费在线观看电影 | 美国人与动物xxxx | 91成人免费在线 | 精品久久久成人 | 精品专区| 国产精品18久久久久久久 | 国产主播大尺度精品福利免费 | 日韩偷拍精品 | 久久福利国产 | 精品视频久久久久久 | www.国产视频 | 色狠狠久久av五月综合 | 亚洲另类视频在线观看 | 日韩一级黄色大片 | 日韩特级片 | 中文字幕视频在线播放 | 黄色成人影院 | 精品在线小视频 | 国产精品久久久亚洲 | 热99久久精品| 欧美日高清视频 | 国产手机视频精品 | 一区二区精品久久 | 午夜精品导航 | 狠狠色丁香久久婷婷综合五月 | 99久高清在线观看视频99精品热在线观看视频 | 久久a v视频| 91污污视频在线观看 | 91mv.cool在线观看 | 天天综合网天天综合色 | 国产亚洲免费的视频看 | 不卡av免费在线观看 | 超碰在线97观看 | 午夜久久久久久久久久久 | 新版资源中文在线观看 | 日韩视频精品在线 | 国产精品久久在线 | 天天综合网入口 | 亚洲欧美日本国产 | 免费大片av| 国产亚洲永久域名 | 欧美日韩一区二区三区视频 | 91超在线 | 又爽又黄在线观看 | 成年人黄色大片在线 | 一区 二区 精品 | 国产精品久久久亚洲 | 婷婷福利影院 | 操操操天天操 | 国产一区高清在线观看 | 国产精品毛片久久久久久久 | 天天狠狠干| 九九九电影免费看 | 国产一区视频在线观看免费 | 91久久精品一区二区三区 | 九九av| 91精品国产99久久久久久久 | 欧洲精品视频一区 | 国产视频一区二区在线播放 | 欧美日韩精品网站 | 激情五月在线观看 | 久久国产手机看片 | 五月婷香蕉久色在线看 | 99精品视频在线观看视频 | 国产精品久免费的黄网站 | 天天射天天爽 | 夜夜骑天天操 | 日韩精品一区二区三区免费视频观看 | 91久久国产综合精品女同国语 | 国产资源中文字幕 | 亚洲精品99久久久久中文字幕 | 国产在线播放一区二区三区 | 国产乱对白刺激视频不卡 | 特级西西444www高清大视频 | 奇米影视777影音先锋 | 日韩精品欧美精品 | 天天搞天天干天天色 | 97色涩| 99热在线国产精品 | 精品久久亚洲 | 一级久久久 | 99se视频在线观看 | 国产精品久久久久久久久久久久午 | 日韩在线视频一区二区三区 | 99久久er热在这里只有精品66 | 精品久久久久免费极品大片 | 国产精品成人自拍 | 色狠狠综合天天综合综合 | 久久精品爱视频 | 久久久在线免费观看 | 狠狠久久综合 | 天天干天天干天天干天天干天天干天天干 | 00av视频| 青青河边草观看完整版高清 | 国产九九九九九 | 蜜桃传媒一区二区 | 日本中文一级片 | 国精产品999国精产品视频 | 日本黄色免费电影网站 | 很黄很黄的网站免费的 | 伊人精品在线 | 三级a视频| 五月天婷婷在线视频 | 国产成人精品一区二区三区在线观看 | 久久你懂的 | 不卡精品| 亚洲天堂精品视频在线观看 | 天天躁日日躁狠狠躁 | 午夜精品电影一区二区在线 | 日韩在线视频播放 | 久久久国产精华液 | 中文字幕第一 | 美女黄频 | 亚洲成人国产精品 | 18女毛片| 久久视频99 | 中文不卡视频 | 夜色成人网 | va视频在线 | 日韩试看 | 一级黄色网址 | 涩涩伊人| 亚洲视频在线免费观看 | 九九在线精品视频 | 五月天激情电影 | 久久人人爽人人爽人人片 | 久久韩国免费视频 | 久久国产精品色av免费看 | 国产精品久久久久久一区二区 | 五月激情久久久 | 国产亚洲一区 | 狠狠色狠狠色综合系列 | 91视频高清免费 | 国产精品99久久久久久大便 | 亚洲专区欧美 | 一区二区三区四区不卡 | 丁香婷婷电影 | 99在线视频播放 | 日韩亚洲国产中文字幕 | 久久久久久毛片 | 免费一级黄色 | 国产黄在线| 国产做aⅴ在线视频播放 | 久久综合婷婷国产二区高清 | 国产一区免费 | 涩涩在线 | 在线成人免费av | 超碰人在线 | 99久久99久久精品国产片果冰 | 久青草国产在线 | 亚洲午夜精品久久久久久久久久久久 | 国产在线国偷精品产拍免费yy | av片免费播放 | 丝袜美腿亚洲综合 | 黄色激情网址 | 国产精品专区在线 | av电影 一区二区 | 欧美性黄网官网 | 日本在线成人 | 国产精品久久久久久久免费大片 | 中文字幕在线播放视频 | 亚洲专区欧美 | 一级免费片| 国产精品久久久久永久免费 | 国产免费小视频 | 日韩成人精品一区二区三区 | 日韩国产精品一区 | 精品国产片| 国产精品9999 | 欧洲亚洲女同hd | 日韩精品字幕 | 久久久五月婷婷 | 日韩欧美一区二区三区免费观看 | 亚洲在线免费视频 | 中文字幕在线中文 | 国产精品美女久久久 | 日韩三级在线观看 | 午夜.dj高清免费观看视频 | 国产午夜精品免费一区二区三区视频 | 天天摸日日摸人人看 | 国产精品6999成人免费视频 | 在线看国产 | 免费a v在线 | 欧美小视频在线观看 | 亚洲免费a | 国产在线观看91 | 91精品伦理 | 国产亚洲精品电影 | 日操干| 九九九九精品 | 欧美日韩视频在线观看一区二区 | 国产成年人av | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 日韩精品免费在线观看 | 五月婷婷电影网 | 久草在线视频在线观看 | 99精品电影 | 久久国产美女视频 | 久热免费 | 91麻豆精品国产91久久久使用方法 | 激情综合五月网 | 在线a视频免费观看 | 久久精品视频在线免费观看 | 中文免费 | 91九色porn在线资源 | 免费精品在线视频 | 国产精品123 | 亚洲成人999 | 亚洲精品美女 | 一区在线观看 | 又黄又刺激视频 | 国产成人精品电影久久久 | 亚洲免费激情 | 久久理论电影网 | 99999精品| 中文字幕二区 | 国产精品久久久免费看 | 国产在线视频资源 | 国产精品午夜免费福利视频 | 欧美 高跟鞋交 xxxxhd | 一本一本久久a久久精品综合妖精 | 国产99久| 亚洲日本va午夜在线影院 | 97av超碰| 97人人超| 中文字幕中文字幕中文字幕 | www.夜夜爽 | 欧美激情视频一区二区三区 | 亚洲精品字幕在线观看 | 超碰在线最新网址 | 成人国产精品电影 | 91看片在线免费观看 | 在线看av的网址 | 国产精品v欧美精品v日韩 | 久久国产成人午夜av影院宅 | 日韩精品久久中文字幕 | 天堂av免费在线 | 一区二区三区免费看 | 伊人热| 欧美精品在线一区 | 日日夜夜网 | 国产精品久久久久高潮 | 91精品国| 午夜丁香视频在线观看 | 天天看天天干 | 狠狠色狠狠色综合系列 | 99精品美女| 久久精品视频中文字幕 | 最新日韩中文字幕 | 麻豆91在线看 | 美女久久精品 | 激情综合亚洲精品 | 成人av网页| 在线免费观看欧美日韩 | 国产亚洲成人精品 | 日韩精品一区二区在线观看 | 中文字幕在线观看完整 | 337p日本大胆噜噜噜噜 | 91在线视频免费观看 | 一区二区久久久久 | 国产不卡免费视频 | 天天激情天天干 | 操操操日日 | 精品国产一区二区三区四区vr | 欧美 亚洲 另类 激情 另类 | 91中文字幕在线观看 | 色婷婷狠狠五月综合天色拍 | 激情五月激情综合网 | 五月天激情视频 | 久久九九精品 | 国产精品高潮呻吟久久av无 | 视频国产在线观看18 | 午夜婷婷网 | 天天操天天射天天爽 | 成人av免费播放 | 久久综合久色欧美综合狠狠 | 一区二区欧美激情 | 亚洲片在线资源 | 免费日韩一区二区三区 | www色com| 亚洲欧美视频在线观看 | 国产午夜精品福利视频 | 国产特级毛片aaaaaa | 999国内精品永久免费视频 | 久久免费黄色 | 色在线国产 | 久久国产香蕉视频 | 久久久国内精品 | 99精品久久久久久久久久综合 | 亚洲天堂精品视频 | 亚洲三级在线 | 99精品在这里 | 国产免费作爱视频 | 成年人三级网站 | 国产在线观看免 | 亚洲精品午夜久久久久久久 | 一区二区三区高清不卡 | 亚洲精品国产成人 | 日韩欧美成人网 | 视频一区二区免费 | 中文字幕一区二区三区乱码不卡 | 久久99精品热在线观看 | 成人影音av | 日韩午夜在线观看 | 色婷婷狠狠五月综合天色拍 | 91麻豆精品一区二区三区 | 国产一区不卡在线 | 亚洲精品欧美专区 | 久久精品影视 | 免费在线观看中文字幕 | 波多野结衣视频一区二区三区 | 国产精品成久久久久三级 | 国产精品黄色影片导航在线观看 | 欧美另类交在线观看 | 中文字幕人成不卡一区 | 国产一区二区午夜 | 一 级 黄 色 片免费看的 | 夜夜干夜夜 | 在线观看中文字幕亚洲 | 国产精品久久久久久电影 | 天天干视频在线 | 在线国产小视频 | 久久亚洲精品电影 | 午夜精品一区二区三区在线 | 亚洲欧美婷婷六月色综合 | 久久精品久久精品 | 日韩欧美69| 国产三级视频在线 | 又黄又爽又无遮挡免费的网站 | 深爱激情久久 | 国内精品久久久久久久久 | 国产精品99久久久久久宅男 | av电影免费在线看 | 久久免费视频在线观看30 | 一区二区三区免费 | 亚洲天堂在线观看完整版 | 美州a亚洲一视本频v色道 | 久久精品网站视频 | 亚洲午夜精品一区二区三区电影院 | 天天操天天色天天 | 六月激情 | 国产91免费看 | 中文字幕在线观看完整版电影 | 国产一区二三区好的 | 久久免费中文视频 | 色综合天天综合在线视频 | 久久精品欧美一 | 97成人啪啪网 | 日日夜操| 五月婷网 | 午夜视频欧美 | 日韩精品不卡在线 | 精品久久久久久综合日本 | 激情深爱五月 | 美女视频黄免费的 | 亚洲区精品 | 久久久精选| 亚洲成av人片在线观看www | 精品久久久久久久久久国产 | aⅴ视频在线 | 久久精品9| 久久av影院 | 国产精品观看 | 最新国产一区二区三区 | 亚洲最大av在线播放 | 超碰人人在线观看 | 中文字幕视频网站 | 日韩欧美视频二区 | 999视频在线播放 | 亚洲国产网站 | 亚洲精品99久久久久中文字幕 | 久久天堂网站 | www.av在线.com| 99视频在线看 | 国产成人久久精品 | 精品一区二区在线观看 | 五月激情丁香图片 | 97电院网手机版 | 免费看一级 | 欧美成人一区二区 | 精品 一区 在线 | 久草在线免费资源 | 久久精品免费播放 | 成人国产网址 | 免费av在线播放 | 久久成人综合 | 国产精品你懂的在线观看 | 国产中文字幕久久 | 午夜电影久久久 | 在线视频日韩一区 | 丁香婷婷色月天 | 国产成人三级一区二区在线观看一 | 国产精品免费不 | 欧亚日韩精品一区二区在线 | 青青河边草观看完整版高清 | 91免费日韩 | 成人一级片视频 | 国产福利不卡视频 | 国产美女免费看 | 在线观看亚洲电影 | 日韩免费一级a毛片在线播放一级 | 一区二区欧美激情 | 精品一区二区免费视频 | 国产精品免费一区二区三区在线观看 | 久久网站av | 久久久国产视频 | 手机看片99 | 精品少妇一区二区三区在线 | 免费看污在线观看 | 午夜精品婷婷 | 欧美 激情在线 | 欧美精品久久久久久久久久 | 久久婷婷精品视频 | 色综合久久久久网 | 精品一区二区三区久久久 | 亚洲精品合集 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 免费在线激情电影 | 337p日本大胆噜噜噜噜 | 国产精品久久影院 | 欧美性色黄 | 97色se | 精品国产一区二区三区蜜臀 | 国产手机在线观看视频 | 久久婷婷一区二区三区 | 日韩在线观看的 | 国产99久久久国产精品成人免费 | 不卡视频一区二区三区 | 99c视频高清免费观看 | 欧美韩国日本在线 | 亚洲午夜精品一区二区三区电影院 | 日韩免费视频播放 | 亚洲区另类春色综合小说校园片 | 国产自偷自拍 | 国产精品丝袜 | 日产乱码一二三区别在线 | 特级a毛片 | 久热国产视频 | 国产精选在线观看 | 精品黄色在线观看 | 亚洲涩综合 | 麻豆视频在线看 | wwwwww色| 天天色天天草天天射 | 中文字幕国产 | 天天操天天射天天爽 | 亚洲天堂精品 | 91久久精品一区二区二区 | 日韩试看| 麻豆视频在线免费观看 | 一级成人免费视频 | 日韩在线三区 | 9在线观看免费高清完整 | 特级aaa毛片 | 久久久免费精品国产一区二区 | 中文字幕 国产专区 | 日韩在线观看一区二区三区 | 午夜a区| 日韩精品在线看 | 午夜精品福利一区二区 | 欧美黑人xxxx猛性大交 | 欧美福利视频 | 免费看的av片| 亚洲电影一级黄 | 天天看天天操 | 日韩激情小视频 | 亚洲精品视频一 | 91精品秘密在线观看 | 久久久久亚洲天堂 | 最新黄色av网址 | 久久首页| 97超碰免费在线观看 | 久久精品久久精品久久39 | 免费中文字幕 | 亚洲国产高清在线 | 蜜桃视频日本 | 天天操天天操 | 欧美视频在线二区 | 国产xxxx| 成人久久精品 | 亚洲精品中文字幕在线 | 中文字幕中文字幕在线一区 | 一区二区三区精品久久久 | 中文在线最新版天堂 | 天天操天天射天天添 | 亚洲激情一区二区三区 | 日韩av女优视频 | 亚洲区另类春色综合小说 | 日本激情视频中文字幕 | 久久久免费少妇 | 天天操欧美 | 日韩精品一区不卡 | 成人影视免费看 | 波多野结衣小视频 | 在线观看黄网站 | 五月婷婷视频在线观看 | 欧美老人xxxx18 | av福利免费 | 九九免费观看全部免费视频 | 中文字幕资源在线 | 国产视频久 | 免费97视频 | 日韩在线一区二区免费 | 国产色小视频 | 一级免费看 | 亚洲欧洲日韩在线观看 | 欧美日韩在线视频一区二区 | 亚洲精品久久久久999中文字幕 | 欧美一级性生活视频 | 国色天香在线观看 | 国产理论在线 | 香蕉网站在线观看 | 91九色成人| 日韩综合第一页 | 夜夜摸夜夜爽 | 久久久久综合视频 | 亚洲乱码在线观看 | 午夜黄色大片 | 国产91粉嫩白浆在线观看 | 日本爱爱免费 | 日日干日日 | 国产一区在线观看免费 | 成人免费在线观看av | 3d黄动漫免费看 | 天天操夜夜操 | 精品视频免费久久久看 | 久久久蜜桃一区二区 | 亚洲日韩精品欧美一区二区 | 国产破处在线视频 | 天天躁天天狠天天透 | 夜夜躁日日躁狠狠躁 | 久久永久视频 | 视频一区二区在线观看 | 日韩在线一级 | 中文字幕人成人 | 久久一区91 | 日本一区二区高清不卡 | 一区二区三区动漫 | 精品一区二区在线观看 | 三级免费黄色 | 超碰最新网址 | 欧美性生活免费看 | 国产精品12345 | 91免费在线 | 成年人电影免费在线观看 | 精品一区二区三区在线播放 | 中文字幕精品三级久久久 | 亚洲日本国产精品 | 亚洲一区二区精品在线 | 操操操干干干 | 91高清视频 | 午夜国产一区二区三区四区 | 黄毛片在线观看 | 婷婷色狠狠| 美女在线国产 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 欧美亚洲精品在线观看 | 2021国产在线视频 | 国产精品久久久久久超碰 | 国产成人精品不卡 | 欧美日韩激情视频8区 | 天天夜夜狠狠操 | 黄网在线免费观看 | 天天操操 | 欧美精品一区二区性色 | 97av在线视频免费播放 | 伊人影院在线观看 | 久久五月婷婷综合 | 国产成人在线免费观看 | 亚洲免费精品一区二区 | 国产综合久久 | 国产亚洲一区二区在线观看 | 国产日韩在线播放 | 成人av一区二区三区 | 福利视频导航网址 | 人人爽人人爽人人片av免 | 午夜国产福利在线 | 人人cao | 99久久久国产精品免费99 | 天堂av网站 | 国产一区二区不卡视频 | 亚洲全部视频 | 国内精品视频在线 | 玖玖在线播放 | 久久久精华网 | 亚洲人成网站精品片在线观看 | 四虎成人免费观看 | 久久久久99999 | 四虎成人在线 | 91精品视频免费在线观看 | 欧洲精品久久久久毛片完整版 | 黄色小说在线免费观看 | 色网站在线看 | 黄色看片| 一级免费av | 午夜精品久久久久久久99热影院 | 国产成人免费av电影 | 久久这里有 | 青青河边草免费观看完整版高清 | 精品国产伦一区二区三区 | 国产黄色播放 | 最新国产精品拍自在线播放 | 99久视频 | 尤物97国产精品久久精品国产 | 亚洲午夜久久久久久久久 | 美女免费网站 | 日韩大片在线免费观看 | 黄色成品视频 | 欧美中文字幕久久 | 亚洲欧美综合精品久久成人 | 六月丁香在线视频 | 色婷婷福利视频 | 日本资源中文字幕在线 | 成人在线小视频 | 久久国产精品一区二区三区 | www.久久久.com | 日韩精品久久久久久中文字幕8 | 久久精品日本啪啪涩涩 | 日韩高清在线一区二区 | 97超碰国产精品女人人人爽 | 久久精品成人 | 久久综合九色综合欧美狠狠 | 91视频在线看 | 国产美女免费 | 国产一区二区在线视频观看 | 国产日韩欧美网站 | 96av麻豆蜜桃一区二区 | 成人宗合网 | 一级淫片在线观看 | 国产一区二区三区免费观看视频 | 中文字幕亚洲欧美日韩 | 久草视频免费在线观看 | 欧美一区二区三区激情视频 | 久久国产精品久久久 | 色99中文字幕| 亚洲精品乱码久久久久久久久久 | 国产在线观看免费 | 成人av电影免费观看 | 97精品国产91久久久久久久 | 成人丝袜 | 黄色不卡av | 国内丰满少妇猛烈精品播放 | 精品国产自在精品国产精野外直播 | 韩国av在线 | 国产成人av网| 国产精品成人av在线 | 天天操综合| 日韩区欧美久久久无人区 | 日韩在线免费电影 | 97超碰色| www.午夜色.com | 午夜免费视频网站 | www.在线观看av | 精品亚洲视频在线观看 | 日韩久久久久久久久 | 免费国产黄线在线观看视频 | 中文字幕资源网 国产 | 国产夫妻自拍av | 国产精品视频永久免费播放 | 一级性视频 | 国产黄色特级片 | 久久高清av | 亚洲每日更新 | 亚洲激色 | 欧美成人在线网站 | 夜夜嗨av色一区二区不卡 | 亚洲成av片人久久久 | 亚洲欧美国产精品久久久久 | 人人网人人爽 | 91亚洲精品国偷拍自产在线观看 | 97视频在线观看免费 | 黄色三级网站在线观看 | 91精品国产欧美一区二区 | 国产成人精品一区二 | 国产精品mv在线观看 | 欧美午夜性生活 | 热久精品 | 欧美另类视频 | 国产成人高清av | 国产精品18久久久久久久网站 | 美女网站色 | 91精品在线麻豆 | 人人插人人搞 | 国产精品自在欧美一区 | 成年人电影免费看 | 色婷婷狠 | 国产精品区在线观看 | 91av在| 欧美激精品 | 中文字幕av免费观看 | 国产一级黄 | 亚洲一二三久久 | av免费福利 | 免费在线观看污 |