国产无遮挡裸体免费直播视频,久久精品国产蜜臀av,动漫在线视频一区二区,欧亚日韩一区二区三区,久艹在线 免费视频,国产精品美女网站免费,正在播放 97超级视频在线观看,斗破苍穹年番在线观看免费,51最新乱码中文字幕

Redis?中使用?list,streams,pub/sub?幾種方式實(shí)現(xiàn)消息隊(duì)列的問題

 更新時(shí)間:2022年03月14日 14:47:40   作者:Zhan-LiZ  
這篇文章主要介紹了Redis?中使用?list,streams,pub/sub?幾種方式實(shí)現(xiàn)消息隊(duì)列,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

使用 Redis 實(shí)現(xiàn)消息隊(duì)列

Redis 中也是可以實(shí)現(xiàn)消息隊(duì)列

不過談到消息隊(duì)列,我們會經(jīng)常遇到下面的幾個(gè)問題

1、消息如何防止丟失;

2、消息的重復(fù)發(fā)送如何處理;

3、消息的順序性問題;

關(guān)于 mq 中如何處理這幾個(gè)問題,可參看RabbitMQ,RocketMQ,Kafka 事務(wù)性,消息丟失,消息順序性和消息重復(fù)發(fā)送的處理策略

基于List的消息隊(duì)列

對于 List

使用 LPUSH 寫入數(shù)據(jù),使用 RPOP 讀出數(shù)據(jù)

127.0.0.1:6379> LPUSH test "ceshi-1"
(integer) 1

127.0.0.1:6379> RPOP test
"ceshi-1"

使用 RPOP 客戶端就需要一直輪詢,來監(jiān)測是否有值可以讀出,可以使用 BRPOP 可以進(jìn)行阻塞式讀取,客戶端在沒有讀到隊(duì)列數(shù)據(jù)時(shí),自動阻塞,直到有新的數(shù)據(jù)寫入隊(duì)列,再開始讀取新數(shù)據(jù)。

127.0.0.1:6379> BRPOP test 10

后面的 10 是監(jiān)聽的時(shí)間,單位是秒,10秒沒數(shù)據(jù),就退出。

如果客戶端從隊(duì)列中拿到一條消息時(shí),但是還沒消費(fèi),客戶端宕機(jī)了,這條消息就對應(yīng)丟失了, Redis 中為了避免這種情況的出現(xiàn),提供了 BRPOPLPUSH 命令,BRPOPLPUSH 會在消費(fèi)一條消息的時(shí)候,同時(shí)把消息插入到另一個(gè) List,這樣如果消費(fèi)者程序讀了消息但沒能正常處理,等它重啟后,就可以從備份 List 中重新讀取消息并進(jìn)行處理了。

127.0.0.1:6379> LPUSH test "ceshi-1"
(integer) 1
127.0.0.1:6379> LPUSH test "ceshi-2"
(integer) 2
127.0.0.1:6379> BRPOPLPUSH test a-test 100
"ceshi-1"
127.0.0.1:6379> BRPOPLPUSH test a-test 100
"ceshi-2"
127.0.0.1:6379> BRPOPLPUSH test a-test 100

127.0.0.1:6379> RPOP a-test
"ceshi-1"
127.0.0.1:6379> RPOP a-test
"ceshi-2"

不過 List 類型并不支持消費(fèi)組的實(shí)現(xiàn),Redis 從 5.0 版本開始提供的 Streams 數(shù)據(jù)類型,來支持消息隊(duì)列的場景。

分析下源碼實(shí)現(xiàn)

在版本3.2之前,Redis中的列表是 ziplist 和 linkedlist 實(shí)現(xiàn)的,針對 ziplist 存在的問題, 在3.2之后,引入了 quicklist 來對 ziplist 進(jìn)行優(yōu)化。

對于 ziplist 來講:

1、保存過大的元素,否則容易導(dǎo)致內(nèi)存重新分配,甚至可能引發(fā)連鎖更新的問題。

2、保存過多的元素,否則訪問性能會降低。

quicklist 使多個(gè)數(shù)據(jù)項(xiàng),不再用一個(gè) ziplist 來存,而是分拆到多個(gè) ziplist 中,每個(gè) ziplist 用指針串起來,這樣修改其中一個(gè)數(shù)據(jù)項(xiàng),即便發(fā)生級聯(lián)更新,也只會影響這一個(gè) ziplist,其它 ziplist 不受影響。

下面看下 list 的實(shí)現(xiàn)

代碼鏈接https://github.com/redis/redis/blob/6.2/src/t_list.c

void listTypePush(robj *subject, robj *value, int where) {
    if (subject->encoding == OBJ_ENCODING_QUICKLIST) {
        int pos = (where == LIST_HEAD) ? QUICKLIST_HEAD : QUICKLIST_TAIL;
        if (value->encoding == OBJ_ENCODING_INT) {
            char buf[32];
            ll2string(buf, 32, (long)value->ptr);
            quicklistPush(subject->ptr, buf, strlen(buf), pos);
        } else {
            quicklistPush(subject->ptr, value->ptr, sdslen(value->ptr), pos);
        }
    } else {
        serverPanic("Unknown list encoding");
    }
}

/* Wrapper to allow argument-based switching between HEAD/TAIL pop */
void quicklistPush(quicklist *quicklist, void *value, const size_t sz,
                   int where) {
    if (where == QUICKLIST_HEAD) {
        quicklistPushHead(quicklist, value, sz);
    } else if (where == QUICKLIST_TAIL) {
        quicklistPushTail(quicklist, value, sz);
    }
}

可以看下上面主要用到的是 quicklist

這里再來分析下 quicklist 的數(shù)據(jù)結(jié)構(gòu)

typedef struct quicklist {
    // quicklist的鏈表頭
    quicklistNode *head;
    // quicklist的鏈表尾
    quicklistNode *tail;
    // 所有ziplist中的總元素個(gè)數(shù)
    unsigned long count;        /* total count of all entries in all ziplists */
    // quicklistNodes的個(gè)數(shù)
    unsigned long len;          /* number of quicklistNodes */
    int fill : QL_FILL_BITS;              /* fill factor for individual nodes */
    unsigned int compress : QL_COMP_BITS; /* depth of end nodes not to compress;0=off */
    unsigned int bookmark_count: QL_BM_BITS;
    quicklistBookmark bookmarks[];
} quicklist;

typedef struct quicklistNode {
    // 前一個(gè)quicklistNode
    struct quicklistNode *prev; 
    // 后一個(gè)quicklistNode
    struct quicklistNode *next;
    // quicklistNode指向的ziplist
    unsigned char *zl;
    // ziplist的字節(jié)大小
    unsigned int sz;             /* ziplist size in bytes */
    // ziplist中的元素個(gè)數(shù)
    unsigned int count : 16;     /* count of items in ziplist */
    // 編碼格式,原生字節(jié)數(shù)組或壓縮存儲
    unsigned int encoding : 2;   /* RAW==1 or LZF==2 */
    // 存儲方式
    unsigned int container : 2;  /* NONE==1 or ZIPLIST==2 */
    // 數(shù)據(jù)是否被壓縮
    unsigned int recompress : 1; /* was this node previous compressed? */
    // 數(shù)據(jù)能否被壓縮
    unsigned int attempted_compress : 1; /* node can't compress; too small */
    // 預(yù)留的bit位
    unsigned int extra : 10; /* more bits to steal for future usage */
} quicklistNode;

quicklist 作為一個(gè)鏈表結(jié)構(gòu),在它的數(shù)據(jù)結(jié)構(gòu)中,是定義了整個(gè) quicklist 的頭、尾指針,這樣一來,我們就可以通過 quicklist 的數(shù)據(jù)結(jié)構(gòu),來快速定位到 quicklist 的鏈表頭和鏈表尾。

來看下 quicklist 是如何插入的

/* Add new entry to head node of quicklist.
 *
 * Returns 0 if used existing head.
 * Returns 1 if new head created. */
int quicklistPushHead(quicklist *quicklist, void *value, size_t sz) {
    quicklistNode *orig_head = quicklist->head;
    assert(sz < UINT32_MAX); /* TODO: add support for quicklist nodes that are sds encoded (not zipped) */
    if (likely(
            // 檢測插入位置的 ziplist 是否能容納該元素
            _quicklistNodeAllowInsert(quicklist->head, quicklist->fill, sz))) {
        quicklist->head->zl =
            ziplistPush(quicklist->head->zl, value, sz, ZIPLIST_HEAD);
        quicklistNodeUpdateSz(quicklist->head);
    } else {
        // 容納不了,就重新創(chuàng)建一個(gè) quicklistNode
        quicklistNode *node = quicklistCreateNode();
        node->zl = ziplistPush(ziplistNew(), value, sz, ZIPLIST_HEAD);

        quicklistNodeUpdateSz(node);
        _quicklistInsertNodeBefore(quicklist, quicklist->head, node);
    }
    quicklist->count++;
    quicklist->head->count++;
    return (orig_head != quicklist->head);
}

quicklist 采用的是鏈表結(jié)構(gòu),所以當(dāng)插入一個(gè)新元素的時(shí)候,首先判斷下 quicklist 插入位置的 ziplist 是否能容納該元素,即單個(gè) ziplist 是否不超過 8KB,或是單個(gè) ziplist 里的元素個(gè)數(shù)是否滿足要求。

如果可以插入就當(dāng)前的節(jié)點(diǎn)進(jìn)行插入,否則就新建一個(gè) quicklistNode 來保存先插入的節(jié)點(diǎn)。

quicklist 通過控制每個(gè) quicklistNode 中,ziplist 的大小或是元素個(gè)數(shù),就有效減少了在 ziplist 中新增或修改元素后,發(fā)生連鎖更新的情況,從而提供了更好的訪問性能。

基于 Streams 的消息隊(duì)列

Streams 是 Redis 專門為消息隊(duì)列設(shè)計(jì)的數(shù)據(jù)類型。

  • 是可持久化的,可以保證數(shù)據(jù)不丟失。

  • 支持消息的多播、分組消費(fèi)。

  • 支持消息的有序性。

來看下幾個(gè)主要的命令

XADD:插入消息,保證有序,可以自動生成全局唯一ID;

XREAD:用于讀取消息,可以按ID讀取數(shù)據(jù); 
XREADGROUP:按消費(fèi)組形式讀取消息;
XPENDING和XACK:XPENDING命令可以用來查詢每個(gè)消費(fèi)組內(nèi)所有消費(fèi)者已讀取但尚未確認(rèn)的消息,而XACK命令用于向消息隊(duì)列確認(rèn)消息處理已完成。  

下面看幾個(gè)常用的命令

XADD

使用 XADD 向隊(duì)列添加消息,如果指定的隊(duì)列不存在,則創(chuàng)建一個(gè)隊(duì)列,XADD 語法格式:

$ XADD key ID field value [field value ...]
  • key:隊(duì)列名稱,如果不存在就創(chuàng)建

  • ID:消息 id,我們使用 * 表示由 redis 生成,可以自定義,但是要自己保證遞增性

  • field value:記錄

$ XADD teststream * name xiaohong surname xiaobai
"1646650328883-0"

可以看到 1646650328883-0就是自動生成的全局唯一消息ID

XREAD

使用 XREAD 以阻塞或非阻塞方式獲取消息列表

$ XREAD [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] id [id ...]
  • count:數(shù)量

  • milliseconds:可選,阻塞毫秒數(shù),沒有設(shè)置就是非阻塞模式

  • key:隊(duì)列名

  • id:消息 ID

$ XREAD BLOCK 100 STREAMS  teststream 0
1) 1) "teststream"
   2) 1) 1) "1646650328883-0"
         2) 1) "name"
            2) "xiaohong"
            3) "surname"
            4) "xiaobai"

BLOCK 就是阻塞的毫秒數(shù)

XGROUP

使用 XGROUP CREATE 創(chuàng)建消費(fèi)者組

$ XGROUP [CREATE key groupname id-or-$] [SETID key groupname id-or-$] [DESTROY key groupname] [DELCONSUMER key groupname consumername]
  • key:隊(duì)列名稱,如果不存在就創(chuàng)建

  • groupname:組名

  • $:表示從尾部開始消費(fèi),只接受新消息,當(dāng)前 Stream 消息會全部忽略

從頭開始消費(fèi)

$ XGROUP CREATE teststream test-consumer-group-name 0-0  

從尾部開始消費(fèi)

$ XGROUP CREATE teststream test-consumer-group-name $

XREADGROUP GROUP

使用 XREADGROUP GROUP 讀取消費(fèi)組中的消息

$ XREADGROUP GROUP group consumer [COUNT count] [BLOCK milliseconds] [NOACK] STREAMS key [key ...] ID [ID ...]
  • group:消費(fèi)組名

  • consumer:消費(fèi)者名

  • count:讀取數(shù)量

  • milliseconds:阻塞毫秒數(shù)

  • key:隊(duì)列名

  • ID:消息 ID

$ XADD teststream * name xiaohong surname xiaobai
"1646653392799-0"

$ XREADGROUP GROUP test-consumer-group-name test-consumer-name COUNT 1 STREAMS teststream >
1) 1) "teststream"
   2) 1) 1) "1646653392799-0"
         2) 1) "name"
            2) "xiaohong"
            3) "surname"
            4) "xiaobai"

消息隊(duì)列中的消息一旦被消費(fèi)組里的一個(gè)消費(fèi)者讀取了,就不能再被該消費(fèi)組內(nèi)的其他消費(fèi)者讀取了。

如果沒有通過 XACK 命令告知消息已經(jīng)成功消費(fèi)了,該消息會一直存在,可以通過 XPENDING 命令查看已讀取、但尚未確認(rèn)處理完成的消息。

$ XPENDING teststream test-consumer-group-name
1) (integer) 3
2) "1646653325535-0"
3) "1646653392799-0"
4) 1) 1) "test-consumer-name"
      2) "3"

分析下源碼實(shí)現(xiàn)

stream 的結(jié)構(gòu)

typedef struct stream {
    // 這是使用前綴樹存儲數(shù)據(jù)
    rax *rax;               /* The radix tree holding the stream. */
    uint64_t length;        /* Number of elements inside this stream. */
    // 當(dāng)前stream的最后一個(gè)id
    streamID last_id;       /* Zero if there are yet no items. */
    // 存儲當(dāng)前的消費(fèi)者組信息
    rax *cgroups;           /* Consumer groups dictionary: name -> streamCG */
} stream;

typedef struct streamID {
    // 消息創(chuàng)建時(shí)的時(shí)間
    uint64_t ms;        /* Unix time in milliseconds. */
    // 消息的序號
    uint64_t seq;       /* Sequence number. */
} streamID;

可以看到 stream 的實(shí)現(xiàn)用到了 rax 樹

再來看 rax 的實(shí)現(xiàn)

typedef struct rax {
    // radix tree 的頭節(jié)點(diǎn)
    raxNode *head;
    //  radix tree 所存儲的元素總數(shù),每插入一個(gè) ID,計(jì)數(shù)加 1
    uint64_t numele;
    // radix tree 的節(jié)點(diǎn)總數(shù)
    uint64_t numnodes;
} rax;

typedef struct raxNode {
    // 表示從 Radix Tree 的根節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)路徑上的字符組成的字符串,是否表示了一個(gè)完整的 key
    uint32_t iskey:1;     /* Does this node contain a key? */
    // 表明當(dāng)前key對應(yīng)的value是否為空
    uint32_t isnull:1;    /* Associated value is NULL (don't store it). */
    // 表示當(dāng)前節(jié)點(diǎn)是非壓縮節(jié)點(diǎn),還是壓縮節(jié)點(diǎn)。
    uint32_t iscompr:1;   /* Node is compressed. */
    // 壓縮節(jié)點(diǎn)壓縮的字符串長度或者非壓縮節(jié)點(diǎn)的子節(jié)點(diǎn)個(gè)數(shù)
    uint32_t size:29;     /* Number of children, or compressed string len. */
    // 包含填充字段,同時(shí)存儲了當(dāng)前節(jié)點(diǎn)包含的字符串以及子節(jié)點(diǎn)的指針,key對應(yīng)的value指針。
    unsigned char data[];
} raxNode;

下面的前綴樹就是存儲了(radix、race、read、real 和 redis)這幾個(gè) key 的布局

Radix Tree 非葉子節(jié)點(diǎn),要不然是壓縮節(jié)點(diǎn),只指向單個(gè)子節(jié)點(diǎn),要不然是非壓縮節(jié)點(diǎn),指向多個(gè)子節(jié)點(diǎn),但每個(gè)子節(jié)點(diǎn)只表示一個(gè)字符。所以,非葉子節(jié)點(diǎn)無法同時(shí)指向表示單個(gè)字符的子節(jié)點(diǎn)和表示合并字符串的子節(jié)點(diǎn)。

data 是用來保存實(shí)際數(shù)據(jù)的。不過,這里保存的數(shù)據(jù)會根據(jù)當(dāng)前節(jié)點(diǎn)的類型而有所不同:

  • 對于非壓縮節(jié)點(diǎn)來說,data 數(shù)組包括子節(jié)點(diǎn)對應(yīng)的字符、指向子節(jié)點(diǎn)的指針,以及節(jié)點(diǎn)表示 key 時(shí)對應(yīng)的 value 指針;

  • 對于壓縮節(jié)點(diǎn)來說,data 數(shù)組包括子節(jié)點(diǎn)對應(yīng)的合并字符串、指向子節(jié)點(diǎn)的指針,以及節(jié)點(diǎn)為 key 時(shí)的 value 指針。

Stream 保存的消息數(shù)據(jù),按照 key-value 形式來看的話,消息 ID 就相當(dāng)于 key,而消息內(nèi)容相當(dāng)于是 value。也就是說,Stream 會使用 Radix Tree 來保存消息 ID,然后將消息內(nèi)容保存在 listpack 中,并作為消息 ID 的 value,用 raxNode 的 value 指針指向?qū)?yīng)的 listpack。

這個(gè) listpack 有點(diǎn)臉盲,listpack 是在 redis5.0 引入了一種新的數(shù)據(jù)結(jié)構(gòu),listpack 相比于 ziplist 有哪些優(yōu)點(diǎn)呢

壓縮列表的細(xì)節(jié)可參見壓縮列表

對于壓縮列表來講:保存過大的元素,否則容易導(dǎo)致內(nèi)存重新分配,甚至可能引發(fā)連鎖更新的問題。

在 listpack 中,因?yàn)槊總€(gè)列表項(xiàng)只記錄自己的長度,而不會像 ziplist 中的列表項(xiàng)那樣,會記錄前一項(xiàng)的長度。所以,當(dāng)我們在 listpack 中新增或修改元素時(shí),實(shí)際上只會涉及每個(gè)列表項(xiàng)自己的操作,而不會影響后續(xù)列表項(xiàng)的長度變化,這就避免了連鎖更新。

streamCG 消費(fèi)者組

typedef struct streamCG {
    // 當(dāng)前我這個(gè)stream的最大id
    streamID last_id;
    // 還沒有收到ACK的消息列表
    rax *pel;
    // 消費(fèi)組中的所有消費(fèi)者,消費(fèi)者名稱為鍵,streamConsumer 為值 
    rax *consumers;
} streamCG;
  • last_id: 每個(gè)組的消費(fèi)者共享一個(gè)last_id代表這個(gè)組消費(fèi)到了什么位置,每次投遞后會更新這個(gè)group;

  • pel: 已經(jīng)發(fā)送給客戶端,但是還沒有收到XACK的消息都存儲在pel樹里面;

  • consumers: 存儲當(dāng)前這個(gè)消費(fèi)者組中的消費(fèi)者。

streamConsumer 消費(fèi)者結(jié)構(gòu)

typedef struct streamConsumer {
    // 為該消費(fèi)者最后一次活躍的時(shí)間
    mstime_t seen_time;
    // 消費(fèi)者名稱,為sds結(jié)構(gòu)
    sds name;
    // 待ACK的消息列表,和 streamCG 中指向的是同一個(gè)  
    rax *pel;
} streamConsumer;

消息隊(duì)列中的消息一旦被消費(fèi)組里的一個(gè)消費(fèi)者讀取了,就不能再被該消費(fèi)組內(nèi)的其他消費(fèi)者讀取了。

消費(fèi)者組中會維護(hù) last_id,代表消費(fèi)者組消費(fèi)的位置,同時(shí)未經(jīng) ACK 的消息會存在于 pel 中。

發(fā)布訂閱

Redis 發(fā)布訂閱(pub/sub)是一種消息通信模式:發(fā)送者(pub)發(fā)送消息,訂閱者(sub)接收消息。

來看下幾個(gè)主要的命令

PSUBSCRIBE pattern [pattern ...]
訂閱一個(gè)或多個(gè)符合給定模式的頻道。

PUBSUB subcommand [argument [argument ...]]
查看訂閱與發(fā)布系統(tǒng)狀態(tài)。
PUBLISH channel message
將信息發(fā)送到指定的頻道。
PUNSUBSCRIBE [pattern [pattern ...]]
退訂所有給定模式的頻道。
SUBSCRIBE channel [channel ...]
訂閱給定的一個(gè)或多個(gè)頻道的信息。
UNSUBSCRIBE [channel [channel ...]]
指退訂給定的頻道。

普通的訂閱

訂閱 test

$ SUBSCRIBE test

向 test 發(fā)布信息

$ PUBLISH test 1

基于模式(pattern)的發(fā)布/訂閱

相當(dāng)于是模糊匹配,訂閱的時(shí)候通過加入通配符中來實(shí)現(xiàn),?表示1個(gè)占位符,表示任意個(gè)占位符(包括0),?表示1個(gè)以上占位符。

訂閱

$ psubscribe p-test*

發(fā)送信息

$ PUBLISH p-testa ceshi-1

看下源碼實(shí)現(xiàn)

Redis 將所有頻道和模式的訂閱關(guān)系分別保存在 pubsub_channels 和 pubsub_patterns 中。

代碼路徑https://github.com/redis/redis/blob/6.0/src/server.h

struct redisServer {
    // 保存訂閱頻道的信息
    dict *pubsub_channels;  /* Map channels to list of subscribed clients */
    // 保存著所有和模式相關(guān)的信息
    dict *pubsub_patterns;  /* A dict of pubsub_patterns */
    // ...
}

pubsub_channels 屬性是一個(gè)字典,字典的鍵為正在被訂閱的頻道,而字典的值則是一個(gè)鏈表, 鏈表中保存了所有訂閱這個(gè)頻道的客戶端。

使用 PSUBSCRIBE 命令訂閱頻道時(shí),就會將訂閱的頻道和客戶端在 pubsub_channels 中進(jìn)行關(guān)聯(lián)

代碼路徑 https://github.com/redis/redis/blob/6.2/src/pubsub.c

// 訂閱一個(gè)頻道,成功返回1,已經(jīng)訂閱返回0
int pubsubSubscribeChannel(client *c, robj *channel) {
    dictEntry *de;
    list *clients = NULL;
    int retval = 0;

    /* Add the channel to the client -> channels hash table */
    // 將頻道添加到客戶端本地的哈希表中
    // 客戶端自己也有一個(gè)訂閱頻道的列表,記錄了此客戶端所訂閱的頻道
    if (dictAdd(c->pubsub_channels,channel,NULL) == DICT_OK) {
        retval = 1;
        incrRefCount(channel);
        // 添加到服務(wù)器中的pubsub_channels中
        // 判斷下這個(gè) channel 是否已經(jīng)創(chuàng)建了
        de = dictFind(server.pubsub_channels,channel);
        if (de == NULL) {
            // 沒有創(chuàng)建,先創(chuàng)建 channel,后添加
            clients = listCreate();
            dictAdd(server.pubsub_channels,channel,clients);
            incrRefCount(channel);
        } else {
            // 已經(jīng)創(chuàng)建過了
            clients = dictGetVal(de);
        }
        // 在尾部添加客戶端
        listAddNodeTail(clients,c);
    }
    /* Notify the client */
    addReplyPubsubSubscribed(c,channel);
}

typedef struct client {
    dict *pubsub_channels;  /* channels a client is interested in (SUBSCRIBE) */
    list *pubsub_patterns;  /* patterns a client is interested in (SUBSCRIBE) */
} client;

1、客戶端進(jìn)行訂閱的時(shí)候,自己本身也會維護(hù)一個(gè)訂閱的 channel 列表;

2、服務(wù)端會將訂閱的客戶端添加到自己的 pubsub_channels 中。

再來看下取消訂閱 pubsubUnsubscribeChannel

// 取消 client 訂閱
int pubsubUnsubscribeChannel(client *c, robj *channel, int notify) {
    dictEntry *de;
    list *clients;
    listNode *ln;
    int retval = 0;

    // 客戶端在本地的哈希表中刪除channel
    incrRefCount(channel); /* channel may be just a pointer to the same object
                            we have in the hash tables. Protect it... */
    if (dictDelete(c->pubsub_channels,channel) == DICT_OK) {
        retval = 1;
        /* Remove the client from the channel -> clients list hash table */
        de = dictFind(server.pubsub_channels,channel);
        serverAssertWithInfo(c,NULL,de != NULL);
        clients = dictGetVal(de);
        ln = listSearchKey(clients,c);
        serverAssertWithInfo(c,NULL,ln != NULL);
        listDelNode(clients,ln);
        if (listLength(clients) == 0) {
            /* Free the list and associated hash entry at all if this was
             * the latest client, so that it will be possible to abuse
             * Redis PUBSUB creating millions of channels. */
            dictDelete(server.pubsub_channels,channel);
        }
    }
    /* Notify the client */
    if (notify) addReplyPubsubUnsubscribed(c,channel);
    decrRefCount(channel); /* it is finally safe to release it */
    return retval;
}

取消訂閱的邏輯也比較簡單,先在客戶端本地維護(hù)的 channel 列表移除對應(yīng)的 channel 信息,然后在服務(wù)端中的 pubsub_channels 移除對應(yīng)的客戶端信息。

再來看下信息是如何進(jìn)行發(fā)布的呢

/* Publish a message */
int pubsubPublishMessage(robj *channel, robj *message) {
    int receivers = 0;
    dictEntry *de;
    dictIterator *di;
    listNode *ln;
    listIter li;

    /* Send to clients listening for that channel */
    // 找到Channel所對應(yīng)的dictEntry
    de = dictFind(server.pubsub_channels,channel);
    if (de) {
        // 獲取此 channel 對應(yīng)的所有客戶端
        list *list = dictGetVal(de);
        listNode *ln;
        listIter li;

        listRewind(list,&li);
        // 一個(gè)個(gè)發(fā)送信息
        while ((ln = listNext(&li)) != NULL) {
            client *c = ln->value;
            addReplyPubsubMessage(c,channel,message);
            receivers++;
        }
    }
    /* Send to clients listening to matching channels */
    // 拿到所有的客戶端信息
    di = dictGetIterator(server.pubsub_patterns);
    if (di) {
        channel = getDecodedObject(channel);
        while((de = dictNext(di)) != NULL) {
            robj *pattern = dictGetKey(de);
            list *clients = dictGetVal(de);
             // 這里進(jìn)行匹配
            // 擁有相同的 pattern 的客戶端會被放入到同一個(gè)鏈表中
            if (!stringmatchlen((char*)pattern->ptr,
                                sdslen(pattern->ptr),
                                (char*)channel->ptr,
                                sdslen(channel->ptr),0)) continue;

            listRewind(clients,&li);
            while ((ln = listNext(&li)) != NULL) {
                client *c = listNodeValue(ln);
                addReplyPubsubPatMessage(c,pattern,channel,message);
                receivers++;
            }
        }
        decrRefCount(channel);
        dictReleaseIterator(di);
    }
    return receivers;
}

消息的發(fā)布,除了會向 pubsub_channels 中的客戶端發(fā)送信息,也會通過 pubsub_patterns 給匹配的客戶端發(fā)送信息。

通過 channel 訂閱,通過 channel 找到匹配的客戶端鏈表,然后逐一發(fā)送

通過 pattern 訂閱,拿出所有的 patterns ,然后根據(jù)規(guī)則,對 發(fā)送的 channel ,進(jìn)行一一匹配,找到滿足條件的客戶端然后發(fā)送信息。

再來看下 pubsub_patterns 中的客戶端數(shù)據(jù)是如何保存的

/* Subscribe a client to a pattern. Returns 1 if the operation succeeded, or 0 if the client was already subscribed to that pattern. */
int pubsubSubscribePattern(client *c, robj *pattern) {
    dictEntry *de;
    list *clients;
    int retval = 0;

    // 如果客戶端沒有訂閱過
    if (listSearchKey(c->pubsub_patterns,pattern) == NULL) {
        retval = 1;
        // 客戶端端本地進(jìn)行記錄
        listAddNodeTail(c->pubsub_patterns,pattern);
        incrRefCount(pattern);
        /* Add the client to the pattern -> list of clients hash table */
        de = dictFind(server.pubsub_patterns,pattern);
        if (de == NULL) {
            // 沒有創(chuàng)建,先創(chuàng)建
            clients = listCreate();
            dictAdd(server.pubsub_patterns,pattern,clients);
            incrRefCount(pattern);
        } else {
            clients = dictGetVal(de);
        }
        listAddNodeTail(clients,c);
    }
    /* Notify the client */
    addReplyPubsubPatSubscribed(c,pattern);
    return retval;
}

這里訂閱 pattern 的流程和訂閱 channel 的流程有點(diǎn)類似,只是這里存儲的是 pattern。pubsub_patterns 的類型也是 dict。

擁有相同的 pattern 的客戶端會被放入到同一個(gè)鏈表中???redis 的提交記錄可以發(fā)現(xiàn),原本 pubsub_patterns 的類型是 list,后面調(diào)整成了 dict。issues

This commit introduced a dictionary on the server side to efficiently handle the pub sub pattern matching. However, there is another list maintaining the same information which is redundant as well as expensive to operate on. Hence removing it.

如果是一個(gè)鏈表,就需要遍歷所有的鏈表,使用 dict ,將有相同 pattern 的客戶端放入同一個(gè)鏈表中,這樣匹配前面的 pattern 就好了,不用遍歷所有的客戶端節(jié)點(diǎn)。

總結(jié)

redis 中消息隊(duì)列的實(shí)現(xiàn),可以使用 list,Streams,pub/sub。

1、list 不支持消費(fèi)者組;

2、發(fā)布訂閱 (pub/sub) 消息無法持久化,如果出現(xiàn)網(wǎng)絡(luò)斷開、Redis 宕機(jī)等,消息就會被丟棄,分發(fā)消息,無法記住歷史消息;

3、5.0 引入了 Streams,專門為消息隊(duì)列設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu),其中支持了消費(fèi)者組,支持消息的有序性,支持消息的持久化;

參考

【Redis核心技術(shù)與實(shí)戰(zhàn)】https://time.geekbang.org/column/intro/100056701

【Redis設(shè)計(jì)與實(shí)現(xiàn)】https://book.douban.com/subject/25900156/

【Redis Streams 介紹】http://www.redis.cn/topics/streams-intro.html

【Centos7.6安裝redis-6.0.8版本】https://blog.csdn.net/roc_wl/article/details/108662719

【Stream 數(shù)據(jù)類型源碼分析】https://blog.csdn.net/weixin_45505313/article/details/109060761

【訂閱與發(fā)布】https://redisbook.readthedocs.io/en/latest/feature/pubsub.html

【Redis學(xué)習(xí)筆記】https://github.com/boilingfrog/Go-POINT/tree/master/redis

【使用 Redis 實(shí)現(xiàn)消息隊(duì)列】https://boilingfrog.github.io/2022/03/14/redis中實(shí)現(xiàn)消息隊(duì)列的幾種方式/

到此這篇關(guān)于Redis 中使用 list,streams,pub/sub 幾種方式實(shí)現(xiàn)消息隊(duì)列的文章就介紹到這了,更多相關(guān)Redis 消息隊(duì)列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows下安裝Redis的流程詳解

    Windows下安裝Redis的流程詳解

    Redis作為常用開源的非關(guān)系型數(shù)據(jù)庫,是開發(fā)中常用的數(shù)據(jù)庫之一,很多朋友不清楚Windows下安裝Redis的過程,今天小編通過分享本文給大家介紹詳細(xì)過程,一起看看吧
    2021-08-08
  • Redis緩存穿透出現(xiàn)原因及解決方案

    Redis緩存穿透出現(xiàn)原因及解決方案

    這篇文章主要介紹了Redis緩存穿透出現(xiàn)原因及解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Redis分布式鎖存在的問題(推薦)

    Redis分布式鎖存在的問題(推薦)

    有很多基于Redis實(shí)現(xiàn)的分布式鎖方案或者庫,但是有些庫并沒有解決分布式環(huán)境下的一些問題陷阱,這篇文章主要介紹了Redis分布式鎖存在的問題,需要的朋友可以參考下
    2022-12-12
  • Redis SETNX命令在Spring Cloud中的分布式鎖用法詳解

    Redis SETNX命令在Spring Cloud中的分布式鎖用法詳解

    在Spring Cloud項(xiàng)目中,使用Java和Redis結(jié)合實(shí)現(xiàn)的分布式鎖可以確保訂單的一致性和并發(fā)控制,通過合理使用鎖的粒度以及注意事項(xiàng),可以減少死鎖問題并提高系統(tǒng)的并發(fā)性能,這篇文章主要介紹了Redis SETNX命令在Spring Cloud中的分布式鎖用法詳解,需要的朋友可以參考下
    2023-10-10
  • Redis的五種基本類型和業(yè)務(wù)場景和使用方式

    Redis的五種基本類型和業(yè)務(wù)場景和使用方式

    Redis是一種高性能的鍵值存儲數(shù)據(jù)庫,支持多種數(shù)據(jù)結(jié)構(gòu)如字符串、列表、集合、哈希表和有序集合等,它提供豐富的API和持久化功能,適用于緩存、消息隊(duì)列、排行榜等多種場景,Redis能夠?qū)崿F(xiàn)高速讀寫操作,尤其適合需要快速響應(yīng)的應(yīng)用
    2024-10-10
  • Redis 單節(jié)點(diǎn)部署的實(shí)現(xiàn)

    Redis 單節(jié)點(diǎn)部署的實(shí)現(xiàn)

    本文主要介紹了Redis 單節(jié)點(diǎn)部署的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 使用Redis實(shí)現(xiàn)分布式鎖的代碼演示

    使用Redis實(shí)現(xiàn)分布式鎖的代碼演示

    edis作為一個(gè)高性能的內(nèi)存數(shù)據(jù)庫,提供了多種機(jī)制來實(shí)現(xiàn)分布式鎖,本文將詳細(xì)介紹如何使用Redis實(shí)現(xiàn)分布式鎖,感興趣的朋友一起看看吧
    2025-04-04
  • redis2.8配置文件中文翻譯版

    redis2.8配置文件中文翻譯版

    這篇文章主要介紹了redis2.8配置文件中文翻譯版,本文翻譯了配置文件中的參數(shù)說明,非常詳細(xì),需要的朋友可以參考下
    2015-06-06
  • Redis分布式緩存與秒殺

    Redis分布式緩存與秒殺

    這篇文章主要介紹了Redis分布式緩存與秒殺,單點(diǎn)Redis的問題,主要有數(shù)據(jù)丟失,并發(fā)能力,故障恢復(fù),存儲能力,想進(jìn)一步了解的同學(xué),可以借鑒本文
    2023-04-04
  • K8s部署Redis主從集群教程

    K8s部署Redis主從集群教程

    本文介紹了在Kubernetes環(huán)境下搭建Redis集群的詳細(xì)步驟,包括環(huán)境準(zhǔn)備、安裝NFS、創(chuàng)建PV卷、搭建Redis集群、集群初始化、主從切換測試以及開放外網(wǎng)端口等內(nèi)容
    2025-01-01

最新評論

亚洲中文字幕校园春色| 欧美地区一二三专区| 中文字幕一区二区亚洲一区| 国产综合高清在线观看| 人妻少妇av在线观看| 午夜极品美女福利视频| 91av精品视频在线| 超污视频在线观看污污污| 日韩写真福利视频在线观看| 久久这里有免费精品| 日本高清撒尿pissing| 婷婷激情四射在线观看视频| 三上悠亚和黑人665番号| 蝴蝶伊人久久中文娱乐网| 日本最新一二三区不卡在线| 国产免费高清视频视频| 99re国产在线精品| 成人综合亚洲欧美一区 | 亚洲特黄aaaa片| 91国内精品自线在拍白富美| 欧美地区一二三专区| 欧美精品激情在线最新观看视频 | 偷偷玩弄新婚人妻h视频| 好太好爽好想要免费| 国产精品成久久久久三级蜜臀av | 日韩人妻丝袜中文字幕| 第一福利视频在线观看| 在线观看成人国产电影| 激情综合治理六月婷婷| 免费成人av中文字幕| 亚洲人妻视频在线网| 男人的天堂在线黄色| 久久精品亚洲国产av香蕉| 欧美亚洲免费视频观看| 日韩美av高清在线| 中国黄色av一级片| 玖玖一区二区在线观看| 欧美3p在线观看一区二区三区| 1000小视频在线| 国产亚洲精品视频合集| 888欧美视频在线| 在线成人日韩av电影| 精品首页在线观看视频| 日韩人妻丝袜中文字幕| 亚洲va欧美va人人爽3p| 一区二区三区国产精选在线播放| 中文字幕亚洲中文字幕| 欧美一区二区三区四区性视频| 3337p日本欧洲大胆色噜噜| 黑人乱偷人妻中文字幕| 孕妇奶水仑乱A级毛片免费看| 熟女俱乐部一二三区| 日本免费视频午夜福利视频| 天天操天天干天天艹| 中文字幕av熟女人妻| 亚洲国产欧美一区二区三区…| 一区二区三区久久中文字幕| 绝顶痉挛大潮喷高潮无码| 国产高清在线在线视频| 人人妻人人人操人人人爽| 丝袜美腿视频诱惑亚洲无| 国产成人自拍视频在线免费观看| 日辽宁老肥女在线观看视频| 天天日天天做天天日天天做| 中文字幕视频一区二区在线观看| 91av精品视频在线| 40道精品招牌菜特色| 精品国产乱码一区二区三区乱| 国产揄拍高清国内精品对白| 粉嫩小穴流水视频在线观看| 久久三久久三久久三久久| 亚洲高清国产拍青青草原| 在线不卡日韩视频播放| 成人免费毛片aaaa| 一区二区久久成人网| 熟女人妻在线中出观看完整版| 欧美日本在线观看一区二区| 欧美一区二区三区高清不卡tv | 国产午夜激情福利小视频在线| 精品人妻一二三区久久| 国产麻豆剧果冻传媒app| 黑人乱偷人妻中文字幕| 日本一本午夜在线播放| 中文字幕一区二 区二三区四区| 啊啊啊想要被插进去视频| 巨乳人妻日下部加奈被邻居中出| 超碰97人人做人人爱| 女同互舔一区二区三区| 中文字幕人妻av在线观看| 国产精品一区二区av国| 亚洲国产欧美一区二区三区久久| 偷拍自拍国产在线视频| 日韩av免费观看一区| 自拍偷拍亚洲精品第2页| 99热碰碰热精品a中文| 日本少妇人妻xxxxx18| 91免费观看在线网站| 国产在线一区二区三区麻酥酥| 国产真实乱子伦a视频| 青青伊人一精品视频| 66久久久久久久久久久| 红桃av成人在线观看| 99热99re在线播放| 亚洲国产在人线放午夜| 国产午夜男女爽爽爽爽爽视频| 国产密臀av一区二区三| 传媒在线播放国产精品一区| 色花堂在线av中文字幕九九| 久久精品视频一区二区三区四区| 精品一区二区三四区| 精品91高清在线观看| 日本熟妇一区二区x x| 性欧美日本大妈母与子| 欧洲亚洲欧美日韩综合| 国产熟妇一区二区三区av| 日本福利午夜电影在线观看| 含骚鸡巴玩逼逼视频| 亚洲精品国品乱码久久久久| 亚洲视频在线视频看视频在线| 在线免费观看国产精品黄色| 涩涩的视频在线观看视频| 久草福利电影在线观看| 午夜久久久久久久精品熟女| 亚洲 清纯 国产com| 老有所依在线观看完整版| 少妇人妻100系列| 亚洲一区二区激情在线| 亚洲成人激情视频免费观看了| 亚洲福利精品福利精品福利| 天天日天天干天天舔天天射| 久久综合老鸭窝色综合久久| 大香蕉大香蕉在线有码 av| www日韩毛片av| 一区二区三区久久久91| 在线观看视频污一区| 天天干天天日天天干天天操| 免费在线福利小视频| 欧美国品一二三产区区别| 免费费一级特黄真人片| 亚洲2021av天堂| 日本一二三区不卡无| 国产普通话插插视频| 自拍偷拍日韩欧美亚洲| 亚洲国产欧美一区二区三区…| 国产大学生援交正在播放| 一区二区三区激情在线| 天天操天天污天天射| 青青青青青免费视频| 日韩人妻丝袜中文字幕| avjpm亚洲伊人久久| AV无码一区二区三区不卡| 大鸡吧插逼逼视频免费看| 日韩美在线观看视频黄| 国产女孩喷水在线观看| 日日夜夜精品一二三| 欧美一区二区三区久久久aaa| 亚洲 中文 自拍 无码| 80电影天堂网官网| jiuse91九色视频| 日本中文字幕一二区视频| 亚洲另类综合一区小说| 亚洲av天堂在线播放| 国产黄色a级三级三级三级 | 日本人竟这样玩学生妹| 精品国产污污免费网站入口自| 亚洲精品麻豆免费在线观看| 直接能看的国产av| 国产精品视频男人的天堂| 88成人免费av网站| 亚洲人妻视频在线网| 亚洲综合在线视频可播放| 亚洲精品高清自拍av| 欧美3p在线观看一区二区三区| 色97视频在线播放| 亚洲一区二区三区偷拍女厕91| 动漫黑丝美女的鸡巴| 51国产成人精品视频| 青青擦在线视频国产在线| 免费在线观看污污视频网站| 国产在线一区二区三区麻酥酥| 亚洲 图片 欧美 图片| 黄页网视频在线免费观看| japanese日本熟妇另类| 91天堂精品一区二区| 国产精品伦理片一区二区| 亚洲av日韩av网站| 精品欧美一区二区vr在线观看 | 顶级尤物粉嫩小尤物网站| jiujiure精品视频在线| 日本熟妇一区二区x x| 岛国青草视频在线观看| av日韩在线免费播放| 欧美激情电影免费在线| 99久久中文字幕一本人| 日本韩国在线观看一区二区| 国产普通话插插视频| 精品黑人一区二区三区久久国产| 欧美一区二区三区激情啪啪啪| 97少妇精品在线观看| 天天摸天天日天天操| 亚洲美女高潮喷浆视频| 欧美老鸡巴日小嫩逼| 婷婷五月亚洲综合在线| sspd152中文字幕在线| 一区二区三区激情在线| 老鸭窝日韩精品视频观看| 青草久久视频在线观看| 久久机热/这里只有| 老司机免费福利视频网| 亚洲成人午夜电影在线观看| 成人动漫大肉棒插进去视频| japanese五十路熟女熟妇| 国产女孩喷水在线观看| 日本高清在线不卡一区二区| 韩国女主播精品视频网站| 青草久久视频在线观看| 成熟丰满熟妇高潮xx×xx| 成年人黄视频在线观看| 欧美精品亚洲精品日韩在线| 男人天堂最新地址av| 制丝袜业一区二区三区| 久久精品亚洲国产av香蕉| 专门看国产熟妇的网站| 日韩三级黄色片网站| 天天干天天操天天摸天天射| 换爱交换乱高清大片| 国产又大又黄免费观看| 日本韩国免费福利精品| 精品视频中文字幕在线播放| 东京热男人的av天堂| 欧美成人猛片aaaaaaa| 黑人性生活视频免费看| 国产精品视频资源在线播放| 四川乱子伦视频国产vip| 狠狠嗨日韩综合久久| 亚洲va天堂va国产va久| 大鸡巴操娇小玲珑的女孩逼| 日日摸夜夜添夜夜添毛片性色av| 2012中文字幕在线高清| 亚洲欧美另类自拍偷拍色图| 日本精品视频不卡一二三| 成熟熟女国产精品一区| 天码人妻一区二区三区在线看 | 一区二区三区视频,福利一区二区| 强行扒开双腿猛烈进入免费版 | 亚洲欧美国产综合777| 人妻丝袜诱惑我操她视频| 黄色录像鸡巴插进去| 一区二区三区在线视频福利| 天天射,天天操,天天说| 亚洲精品无码久久久久不卡| 成人蜜桃美臀九一一区二区三区| 日韩av有码一区二区三区4| 国产黄网站在线观看播放| 美日韩在线视频免费看| 国产亚洲精品欧洲在线观看| 精品人妻一二三区久久| 久久99久久99精品影院| 色婷婷综合激情五月免费观看| 欧美成人综合色在线噜噜| 国产极品美女久久久久久| 国产精品视频欧美一区二区| 精品美女福利在线观看| 中文字幕乱码人妻电影| 三级av中文字幕在线观看| 欧美另类重口味极品在线观看| 四川乱子伦视频国产vip| 孕妇奶水仑乱A级毛片免费看 | 少妇与子乱在线观看| 日本一二三中文字幕| 3D动漫精品啪啪一区二区下载| 孕妇奶水仑乱A级毛片免费看 | 免费在线福利小视频| 欧亚日韩一区二区三区观看视频 | 亚洲午夜伦理视频在线| 久久免费看少妇高潮完整版| 日本中文字幕一二区视频| 免费费一级特黄真人片| 色花堂在线av中文字幕九九| av老司机精品在线观看| 大鸡八强奸视频在线观看| 91国偷自产一区二区三区精品| 日美女屁股黄邑视频| 男人和女人激情视频| 91天堂天天日天天操| 大学生A级毛片免费视频| 77久久久久国产精产品| 在线视频国产欧美日韩| 91麻豆精品91久久久久同性| 伊人日日日草夜夜草| 99久久激情婷婷综合五月天| 日本一区美女福利视频| 男女啪啪视频免费在线观看| 日本成人不卡一区二区| 欧美一区二区三区在线资源| 日本特级片中文字幕| 国产露脸对白在线观看| 亚洲免费av在线视频| 福利片区一区二体验区| 国产精品精品精品999| 婷婷久久一区二区字幕网址你懂得| 伊人成人综合开心网| 最新黄色av网站在线观看| 搡老妇人老女人老熟女| 国产女孩喷水在线观看| 青青草亚洲国产精品视频| 婷婷久久久综合中文字幕| 91免费黄片可看视频| 最近中文字幕国产在线| 国产内射中出在线观看| 人人妻人人爱人人草| 青草久久视频在线观看| 免费观看成年人视频在线观看| 日比视频老公慢点好舒服啊| 中文字幕av男人天堂| 国产精品自拍视频大全| 亚洲国产成人最新资源| 免费观看污视频网站| 免费观看国产综合视频| 中文字幕,亚洲人妻| 国产亚洲四十路五十路| free性日本少妇| 亚洲欧美激情人妻偷拍| 久草极品美女视频在线观看| 国产不卡av在线免费| 熟女人妻三十路四十路人妻斩| 一区二区三区四区五区性感视频| 91国内精品久久久久精品一| 精品一区二区三区三区88| 午夜大尺度无码福利视频| 人妻少妇亚洲一区二区| 亚洲福利天堂久久久久久| 人人妻人人爽人人添夜| av成人在线观看一区| 和邻居少妇愉情中文字幕| 久久久久国产成人精品亚洲午夜| 午夜精品一区二区三区4| 大胆亚洲av日韩av| 久久久91蜜桃精品ad| 一区二区三区久久中文字幕| 欧美精品亚洲精品日韩在线| 欲乱人妻少妇在线视频裸| 国产黄色片在线收看| 18禁美女无遮挡免费| 乱亲女秽乱长久久久| av视屏免费在线播放| 国产高清97在线观看视频| 天天日天天添天天爽| 欧美成人黄片一区二区三区 | 亚洲av色图18p| 天干天天天色天天日天天射| 91九色国产porny蝌蚪| 老司机免费福利视频网| 国产一区二区欧美三区| 熟女国产一区亚洲中文字幕| 国产精品国产三级麻豆| 摧残蹂躏av一二三区| 啊啊好大好爽啊啊操我啊啊视频| 九九视频在线精品播放| 欧美区一区二区三视频| 日本av高清免费网站| 黄色视频在线观看高清无码| 不戴胸罩引我诱的隔壁的人妻| 天天操天天污天天射| 成人精品视频99第一页| 久久久久久久久久一区二区三区| 亚洲精品国品乱码久久久久| 国产精品系列在线观看一区二区| 伊人综合aⅴ在线网| 2020久久躁狠狠躁夜夜躁| 狠狠躁夜夜躁人人爽天天久天啪| 日本啪啪啪啪啪啪啪| 天堂资源网av中文字幕| 午夜精品福利一区二区三区p| 国产免费高清视频视频| 东京干手机福利视频| 日本乱人一区二区三区| 欧美特级特黄a大片免费| 国产亚洲成人免费在线观看| 免费av岛国天堂网站| 亚洲精品乱码久久久久久密桃明| 欧美日本国产自视大全| 超碰公开大香蕉97| 午夜蜜桃一区二区三区| 福利在线视频网址导航| 日韩人妻丝袜中文字幕| 国产精品亚洲在线观看| 久久精品亚洲成在人线a| 亚洲青青操骚货在线视频| 无码日韩人妻精品久久| 亚洲熟妇无码一区二区三区| 80电影天堂网官网| 91精品激情五月婷婷在线| 干逼又爽又黄又免费的视频| 黄色大片免费观看网站| 亚洲av成人免费网站| 亚洲天堂精品福利成人av| 天天做天天干天天舔| 九九视频在线精品播放| 视频一区 二区 三区 综合| 黄网十四区丁香社区激情五月天| 国产成人精品午夜福利训2021| 久久久久久久亚洲午夜综合福利| 韩国女主播精品视频网站| 国产福利小视频免费观看| 人人人妻人人澡人人| 中文字幕在线观看国产片| 大香蕉大香蕉在线看| www天堂在线久久| 久久这里只有精品热视频| 青青草精品在线视频观看| 日本人妻少妇18—xx| 久久久久久cao我的性感人妻 | 中文字幕一区二区三区蜜月 | 欧美视频综合第一页| 非洲黑人一级特黄片| 日本美女成人在线视频| 亚洲成人黄色一区二区三区| 精品一线二线三线日本| 亚洲一区二区三区uij| 97少妇精品在线观看| 国产夫妻视频在线观看免费| 青草久久视频在线观看| 肏插流水妹子在线乐播下载| 亚洲精品av在线观看| aⅴ五十路av熟女中出| 欧美视频综合第一页| 97人妻总资源视频| 男女啪啪啪啪啪的网站| 97精品成人一区二区三区 | aiss午夜免费视频| av日韩在线免费播放| 五十路老熟女码av| 日韩欧美高清免费在线| 午夜精品久久久久麻豆影视| 肏插流水妹子在线乐播下载| 亚洲女人的天堂av| 欧美中文字幕一区最新网址| 男人的天堂一区二区在线观看| 黑人借宿ntr人妻的沦陷2| 久久www免费人成一看片| 91福利视频免费在线观看| 欧美精品中文字幕久久二区| 亚洲成av人无码不卡影片一| 亚洲国产美女一区二区三区软件| 亚洲成人激情av在线| av高潮迭起在线观看| 精品suv一区二区69| 国产日本欧美亚洲精品视| 老有所依在线观看完整版| 色婷婷综合激情五月免费观看| 人人爱人人妻人人澡39| 亚洲人妻30pwc| 国产精品中文av在线播放 | 国产日本精品久久久久久久| 日韩欧美高清免费在线| 亚洲成人三级在线播放 | 日日夜夜狠狠干视频| 亚洲欧美成人综合视频| 精品视频中文字幕在线播放| 一区二区三区四区五区性感视频| 国产精品一区二区久久久av| 天天日天天操天天摸天天舔 | 在线制服丝袜中文字幕| 成人国产小视频在线观看| 国产欧美日韩第三页| 亚欧在线视频你懂的| 亚洲变态另类色图天堂网| 大鸡八强奸视频在线观看| 亚洲精品ww久久久久久| 夫妻在线观看视频91| 亚洲精品 日韩电影| 成年美女黄网站18禁久久| 国产乱子伦一二三区| 91精品国产高清自在线看香蕉网| 亚洲av日韩精品久久久久久hd| 日韩熟女av天堂系列| 中文字幕在线免费第一页| 91天堂精品一区二区| 天天日天天干天天要| 一级黄色片夫妻性生活| 亚洲精品无码色午夜福利理论片| 91国产在线视频免费观看| 99热国产精品666| 色呦呦视频在线观看视频| 亚洲欧美在线视频第一页| 天天操夜夜操天天操天天操| 午夜在线一区二区免费| 女人精品内射国产99| 日韩精品电影亚洲一区| 首之国产AV医生和护士小芳| 日日爽天天干夜夜操| 亚洲成人线上免费视频观看| 一级黄色av在线观看| 天天操夜夜骑日日摸| 日韩在线视频观看有码在线| av乱码一区二区三区| 久久永久免费精品人妻专区| 91色网站免费在线观看| 毛片av在线免费看| 69精品视频一区二区在线观看| 人妻自拍视频中国大陆| 亚洲最大免费在线观看| 99亚洲美女一区二区三区| 亚洲1069综合男同| 人妻熟女在线一区二区| 亚洲成人国产综合一区| 91国产资源在线视频| 在线制服丝袜中文字幕| 亚洲Av无码国产综合色区| 干逼又爽又黄又免费的视频| 国产亚州色婷婷久久99精品| 青青青青青青青青青国产精品视频| 国产大学生援交正在播放| 韩国AV无码不卡在线播放| 国产九色91在线视频| 免费一级黄色av网站| 2019av在线视频| 3337p日本欧洲大胆色噜噜| 久久久超爽一二三av| 久久综合老鸭窝色综合久久| 男人靠女人的逼视频| nagger可以指黑人吗| 日日摸夜夜添夜夜添毛片性色av| 日曰摸日日碰夜夜爽歪歪| 女同性ⅹxx女同hd| 欧美精品黑人性xxxx| 最新国产精品网址在线观看| 2012中文字幕在线高清| 99精品国产自在现线观看| 三级av中文字幕在线观看| 天天射夜夜操狠狠干| 夜鲁夜鲁狠鲁天天在线| 国产精品亚洲在线观看| 精品视频一区二区三区四区五区| 美女视频福利免费看| 三上悠亚和黑人665番号| 精品美女在线观看视频在线观看| 绝色少妇高潮3在线观看| 午夜精品福利91av| 日韩精品中文字幕播放| 欧美精产国品一二三产品价格| 久久麻豆亚洲精品av| 3344免费偷拍视频| 精品国产在线手机在线| 天天操天天插天天色| 18禁精品网站久久| 天堂va蜜桃一区入口| av在线免费观看亚洲天堂| 免费男阳茎伸入女阳道视频 | 任你操视频免费在线观看| 欧美精品一二三视频| 午夜福利人人妻人人澡人人爽| 中文字幕日本人妻中出| 男人天堂最新地址av| 曰本无码人妻丰满熟妇啪啪| 欧美老妇精品另类不卡片| 1区2区3区4区视频在线观看| 摧残蹂躏av一二三区| AV无码一区二区三区不卡| av天堂资源最新版在线看| 亚洲成人三级在线播放| 班长撕开乳罩揉我胸好爽| 午夜dv内射一区区| 中文字幕—97超碰网| 天天日天天干天天搡| AV天堂一区二区免费试看| gogo国模私拍视频| 中文字幕,亚洲人妻| 色偷偷伊人大杳蕉综合网| 亚洲精品国产久久久久久| 亚洲 图片 欧美 图片| 久久久精品精品视频视频| 日韩美女综合中文字幕pp| 偷拍自拍福利视频在线观看| 中文亚洲欧美日韩无线码| 黑人3p华裔熟女普通话| 五十路息与子猛烈交尾视频| 2018在线福利视频| 亚洲成人av一区久久| 青青青青青免费视频| 人人超碰国字幕观看97| 2021国产一区二区| 黄色成年网站午夜在线观看| 久久久麻豆精亚洲av麻花| 亚洲综合在线视频可播放| 亚洲一级美女啪啪啪| 亚洲少妇人妻无码精品| 在线观看成人国产电影| 色天天天天射天天舔| 啊啊好大好爽啊啊操我啊啊视频| 天天干天天操天天摸天天射| 香港一级特黄大片在线播放| 日日摸夜夜添夜夜添毛片性色av| 欧美亚洲自偷自拍 在线| 福利在线视频网址导航| 国产大学生援交正在播放| 91麻豆精品久久久久| 黑人性生活视频免费看| 绝色少妇高潮3在线观看| av男人天堂狠狠干| 色天天天天射天天舔| 日本后入视频在线观看| 3337p日本欧洲大胆色噜噜| 欧洲国产成人精品91铁牛tv| 亚洲av第国产精品| 99re国产在线精品| 亚洲欧美另类手机在线 | 天天干天天插天天谢| 男人的天堂一区二区在线观看| 2021国产一区二区| 欧美亚洲免费视频观看| 中文字幕乱码av资源| 91福利视频免费在线观看| 99久久99久国产黄毛片| 91大屁股国产一区二区| 在线视频国产欧美日韩| 久久精品久久精品亚洲人| 日韩a级黄色小视频| av亚洲中文天堂字幕网| 国产密臀av一区二区三| 午夜精品福利91av| 深夜男人福利在线观看| 偷拍自拍亚洲美腿丝袜| 99热国产精品666| 一个人免费在线观看ww视频| 日本后入视频在线观看| 五十路熟女av天堂| 国产乱子伦一二三区| 天天日天天操天天摸天天舔| 欧美区一区二区三视频| 超污视频在线观看污污污 | 93视频一区二区三区| 国产白袜脚足J棉袜在线观看| 开心 色 六月 婷婷| 黄色黄色黄片78在线| 伊拉克及约旦宣布关闭领空| 精品亚洲在线免费观看| 国产大学生援交正在播放| 播放日本一区二区三区电影| av老司机精品在线观看| 日本一区美女福利视频| 青青青aaaa免费| 都市家庭人妻激情自拍视频| 天天干天天插天天谢| 自拍偷拍日韩欧美一区二区| 在线观看av亚洲情色| 国产在线观看免费人成短视频| 女同互舔一区二区三区| 免费在线观看污污视频网站| 青青青爽视频在线播放| 午夜精品一区二区三区更新| 综合色区亚洲熟妇shxstz| asmr福利视频在线观看| 欧美怡红院视频在线观看| 国产亚洲视频在线二区| 东京热男人的av天堂| 熟女人妻三十路四十路人妻斩| 偷青青国产精品青青在线观看| yellow在线播放av啊啊啊| av久久精品北条麻妃av观看| 亚洲美女自偷自拍11页| 中文字幕av男人天堂| 三上悠亚和黑人665番号| 日本一区精品视频在线观看| 美女被肏内射视频网站| 国产精品国产精品一区二区| 国产在线自在拍91国语自产精品| 久草视频在线一区二区三区资源站| av在线免费中文字幕| 日日爽天天干夜夜操| 日韩视频一区二区免费观看| 国产亚洲视频在线观看| 亚洲美女美妇久久字幕组| 99热久久极品热亚洲| 亚洲中文字字幕乱码| 日本美女性生活一级片| 亚洲激情,偷拍视频| 亚洲 清纯 国产com| v888av在线观看视频| 日本熟女精品一区二区三区| 93精品视频在线观看| 丰满的子国产在线观看| 中国老熟女偷拍第一页| 国产伊人免费在线播放| 亚洲成人av一区在线| 91天堂天天日天天操| 亚洲av日韩精品久久久久久hd| 大鸡吧插逼逼视频免费看| 精产国品久久一二三产区区别| 日本一二三中文字幕| 老司机福利精品视频在线| 99久久99一区二区三区| 亚洲男人在线天堂网| 一区二区三区四区视频| 国产女孩喷水在线观看| 2022精品久久久久久中文字幕| 日日夜夜精品一二三| 青青青青青青青青青国产精品视频| 亚洲午夜电影在线观看| 国产熟妇人妻ⅹxxxx麻豆| 成人H精品动漫在线无码播放| 久久美欧人妻少妇一区二区三区| 99精品视频在线观看婷婷| 肏插流水妹子在线乐播下载| 懂色av之国产精品| 日韩亚洲高清在线观看| 最新国产精品拍在线观看| 这里有精品成人国产99| 久草视频在线一区二区三区资源站| 2020韩国午夜女主播在线| 红桃av成人在线观看| 中文字幕在线乱码一区二区| 38av一区二区三区| 狠狠操操操操操操操操操| 日本后入视频在线观看| 天堂av中文在线最新版| 丝袜美腿视频诱惑亚洲无| 最新激情中文字幕视频| 日韩欧美一级黄片亚洲| 天堂中文字幕翔田av| 五十路熟女人妻一区二| 操的小逼流水的文章| 国产中文精品在线观看| 国产高清97在线观看视频| 日韩成人免费电影二区| 午夜频道成人在线91| av视屏免费在线播放| 亚洲va天堂va国产va久| 国际av大片在线免费观看| 少妇人妻100系列| 亚洲成人激情av在线| 国产精品成人xxxx| 黑人解禁人妻叶爱071| 亚洲免费视频欧洲免费视频| 美女视频福利免费看| 午夜国产福利在线观看| 丝袜美腿视频诱惑亚洲无| 久久久久久久精品老熟妇| 在线免费观看日本伦理| 国产精品国产三级国产午| 5528327男人天堂| 亚洲一区二区激情在线| 国产精品午夜国产小视频| 家庭女教师中文字幕在线播放| 日本女人一级免费片| 天天日天天日天天射天天干| 女生自摸在线观看一区二区三区| 大香蕉大香蕉在线有码 av| 欧美xxx成人在线| 日韩精品一区二区三区在线播放| 五十路熟女人妻一区二| 97色视频在线观看| 五十路熟女av天堂| 欧美一级视频一区二区| 超碰公开大香蕉97| wwwxxx一级黄色片| 免费69视频在线看| av网站色偷偷婷婷网男人的天堂| 免费观看丰满少妇做受| 男女啪啪视频免费在线观看| 首之国产AV医生和护士小芳| 国产亚洲欧美另类在线观看| 老司机午夜精品视频资源| 日本乱人一区二区三区| 91国产资源在线视频| 天干天天天色天天日天天射| 1024久久国产精品| 天天做天天干天天操天天射| 精品久久婷婷免费视频| yellow在线播放av啊啊啊| 亚洲区美熟妇久久久久| 亚洲综合在线观看免费| 美女福利写真在线观看视频| 日韩人妻丝袜中文字幕| 老司机免费视频网站在线看| 日本女大学生的黄色小视频| 亚洲卡1卡2卡三卡四老狼| 男生用鸡操女生视频动漫| 青青草成人福利电影| 亚洲av日韩高清hd| 蝴蝶伊人久久中文娱乐网| 欧美日本aⅴ免费视频| 福利视频网久久91| 黄色的网站在线免费看| 亚洲中文精品人人免费| 亚洲熟女久久久36d| 精品黑人一区二区三区久久国产| 五十路av熟女松本翔子| 91she九色精品国产| 日本少妇在线视频大香蕉在线观看| chinese国产盗摄一区二区 | 91综合久久亚洲综合| 国产av一区2区3区| 精品亚洲中文字幕av| 日本乱人一区二区三区| 边摸边做超爽毛片18禁色戒| 91九色国产porny蝌蚪| 日韩成人免费电影二区| 中文字幕一区二区自拍| 日韩影片一区二区三区不卡免费| 青青草成人福利电影| 日本熟妇喷水xxx| 亚洲日产av一区二区在线| 中文字幕高清在线免费播放| 人人爽亚洲av人人爽av| 久久久久久97三级| 天天躁日日躁狠狠躁躁欧美av | 国产aⅴ一线在线观看| 亚洲日本一区二区久久久精品| 天天干天天日天天谢综合156| 欧美中文字幕一区最新网址| 色呦呦视频在线观看视频| 亚洲av黄色在线网站| AV无码一区二区三区不卡| 亚洲人成精品久久久久久久| 免费观看污视频网站| 欧美80老妇人性视频| 亚洲高清国产自产av| 欧美va亚洲va天堂va| 日本欧美视频在线观看三区| 成年人中文字幕在线观看| 日本高清在线不卡一区二区| 午夜美女少妇福利视频| 9久在线视频只有精品| 在线不卡日韩视频播放| 亚洲精品无码久久久久不卡| 欧美日韩v中文在线| 天天干天天操天天玩天天射| 国产女人露脸高潮对白视频| 午夜青青草原网在线观看| 绝顶痉挛大潮喷高潮无码 | 红桃av成人在线观看| 蜜桃色婷婷久久久福利在线| 偷拍自拍福利视频在线观看| 红杏久久av人妻一区| 国产福利在线视频一区| av大全在线播放免费| 57pao国产一区二区| 亚洲 国产 成人 在线| 亚国产成人精品久久久| 青青草视频手机免费在线观看| 91免费观看国产免费| 男人在床上插女人视频| 93视频一区二区三区| 亚洲嫩模一区二区三区| 国产精品日韩欧美一区二区| 天堂av狠狠操蜜桃| 99热这里只有国产精品6| 国产高清精品一区二区三区| 亚洲区欧美区另类最新章节| 天天干天天啪天天舔| 色噜噜噜噜18禁止观看| 亚洲护士一区二区三区| 东京热男人的av天堂| 国产在线一区二区三区麻酥酥| 欧美黑人与人妻精品| 38av一区二区三区| 国产麻豆乱子伦午夜视频观看| 18禁无翼鸟成人在线 | 97成人免费在线观看网站| 无码国产精品一区二区高潮久久4 日韩欧美一级精品在线观看 | 日本xx片在线观看| 黄色片黄色片wyaa| 日曰摸日日碰夜夜爽歪歪| 蝴蝶伊人久久中文娱乐网| 91欧美在线免费观看| 青青草成人福利电影| 3344免费偷拍视频| 亚洲精品av在线观看| 男生舔女生逼逼视频| 国内精品在线播放第一页| 天天日天天日天天射天天干| 欧美viboss性丰满| 亚洲少妇高潮免费观看| 亚洲av天堂在线播放| 亚洲中文字幕人妻一区| 国产超码片内射在线| 日本少妇人妻xxxxx18| 天天干夜夜操天天舔| 中文字幕欧美日韩射射一| 鸡巴操逼一级黄色气| 成人色综合中文字幕| 日韩精品中文字幕播放| 熟女国产一区亚洲中文字幕| 国产又粗又黄又硬又爽| 51精品视频免费在线观看| 亚洲精品一线二线在线观看| 亚洲中文字幕人妻一区| 四虎永久在线精品免费区二区| 成年人中文字幕在线观看| 国产精品久久久久久久女人18| 国产使劲操在线播放| 男人靠女人的逼视频| 日韩美女精品视频在线观看网站 | 日韩人妻xxxxx| 丁香花免费在线观看中文字幕| 天天操天天插天天色| 青青社区2国产视频| 黄色三级网站免费下载| 插逼视频双插洞国产操逼插洞| 久久精品国产999| 精品国产污污免费网站入口自| 蜜桃视频在线欧美一区| 美女操逼免费短视频下载链接| 亚洲国产中文字幕啊啊啊不行了 | 亚洲午夜在线视频福利| 中文字幕—97超碰网| 视频一区二区综合精品| 亚洲蜜臀av一区二区三区九色 | 偷青青国产精品青青在线观看 | 国产在线91观看免费观看| 国产卡一卡二卡三乱码手机| 色97视频在线播放| 日本福利午夜电影在线观看| 福利视频网久久91| 国产视频一区在线观看| 秋霞午夜av福利经典影视| 99热色原网这里只有精品| 青青热久免费精品视频在线观看| 性色av一区二区三区久久久| 77久久久久国产精产品| 午夜在线一区二区免费| 亚洲视频乱码在线观看| 18禁免费av网站| 大鸡巴后入爆操大屁股美女| 人妻素人精油按摩中出| 免费在线看的黄网站| 亚洲av第国产精品| 无忧传媒在线观看视频| av俺也去在线播放| 亚洲超碰97人人做人人爱| 婷婷色中文亚洲网68| 中文字母永久播放1区2区3区| 天天日天天透天天操| 88成人免费av网站| 国产精品久久9999| 欧美视频中文一区二区三区| 欧美一区二区三区在线资源| 中文字幕在线视频一区二区三区 | 大鸡吧插逼逼视频免费看| 国产剧情演绎系列丝袜高跟| 97欧洲一区二区精品免费| 91大神福利视频网| 夜色撩人久久7777| 日本乱人一区二区三区| 欧美天堂av无线av欧美| 丝袜肉丝一区二区三区四区在线| 91免费观看国产免费| 久久久久久久亚洲午夜综合福利| 91大神福利视频网| 高清一区二区欧美系列| 天天做天天干天天操天天射| av手机在线免费观看日韩av| 中文字幕 人妻精品| 色偷偷伊人大杳蕉综合网| 91欧美在线免费观看| 国产三级精品三级在线不卡| 中文字幕中文字幕 亚洲国产| 日本www中文字幕| 亚洲卡1卡2卡三卡四老狼| 最后99天全集在线观看| 中文字幕午夜免费福利视频| 国产精品精品精品999| 欧美视频一区免费在线| 97国产精品97久久| 性感美女高潮视频久久久| 色花堂在线av中文字幕九九| 亚洲久久午夜av一区二区| www骚国产精品视频| 成年人黄色片免费网站| 2018在线福利视频| 国产午夜激情福利小视频在线| av线天堂在线观看| 久草电影免费在线观看| 在线观看的黄色免费网站| 亚洲黄色av网站免费播放| 亚洲综合图片20p| 在线 中文字幕 一区| av大全在线播放免费| 亚洲免费视频欧洲免费视频| 99久久成人日韩欧美精品| japanese五十路熟女熟妇| 99热久久这里只有精品| 午夜频道成人在线91| 日韩精品电影亚洲一区| ka0ri在线视频| 日韩二区视频一线天婷婷五| 九一传媒制片厂视频在线免费观看| gogo国模私拍视频| 亚洲在线观看中文字幕av| 天天色天天舔天天射天天爽| av手机在线观播放网站| 91国产资源在线视频| 熟女91pooyn熟女| 日本少妇精品免费视频| 欧美乱妇无乱码一区二区| 男女啪啪啪啪啪的网站| 亚洲午夜电影之麻豆| 国产白袜脚足J棉袜在线观看| 粉嫩av懂色av蜜臀av| 久久久久久9999久久久久| 中文字幕视频一区二区在线观看| 女同性ⅹxx女同hd| 9l人妻人人爽人人爽| 天堂资源网av中文字幕| 老熟妇凹凸淫老妇女av在线观看| 一区二区三区另类在线| 日美女屁股黄邑视频| 国产女人叫床高潮大片视频| 人人爽亚洲av人人爽av| 少妇人妻二三区视频| 精品高跟鞋丝袜一区二区| 国产麻豆国语对白露脸剧情| 欧洲国产成人精品91铁牛tv| 欧美日韩熟女一区二区三区| free性日本少妇| 男女啪啪啪啪啪的网站| 美女福利写真在线观看视频| 婷婷色中文亚洲网68| 成人资源在线观看免费官网| 热99re69精品8在线播放| 91久久人澡人人添人人爽乱| 日本在线一区二区不卡视频| 五月精品丁香久久久久福利社| 91欧美在线免费观看| 亚洲午夜精品小视频| 日韩a级精品一区二区| 国产老熟女伦老熟妇ⅹ| 精品国产亚洲av一淫| 亚洲av色香蕉一区二区三区| 色花堂在线av中文字幕九九 | 在线免费观看视频一二区| 国产真实灌醉下药美女av福利| 熟女妇女老妇一二三区| 一区二区视频视频视频| 内射久久久久综合网| 久久综合老鸭窝色综合久久| 综合精品久久久久97| 天天射夜夜操综合网| 2025年人妻中文字幕乱码在线| 亚洲欧美综合在线探花| 98视频精品在线观看| 1769国产精品视频免费观看| 中文字幕日韩91人妻在线| 女生自摸在线观看一区二区三区| 亚洲中文精品人人免费| 2021年国产精品自拍| 国产一区av澳门在线观看| 2017亚洲男人天堂| av黄色成人在线观看| 57pao国产一区二区| 久久久久久久亚洲午夜综合福利 | 亚洲国产免费av一区二区三区| 黑人乱偷人妻中文字幕| 东京热男人的av天堂| 日本少妇人妻xxxxxhd| av中文字幕电影在线看| 蜜桃色婷婷久久久福利在线| 成年女人免费播放视频| 日韩在线视频观看有码在线| 成人av电影免费版| 日本熟女精品一区二区三区| 国产麻豆精品人妻av| 热思思国产99re| 888欧美视频在线| 国产精品久久久久久久女人18| 免费大片在线观看视频网站| 在线播放 日韩 av| 夜色17s精品人妻熟女| 国产又粗又黄又硬又爽| 欧美亚洲免费视频观看| 日日夜夜狠狠干视频| 午夜极品美女福利视频| 蜜桃专区一区二区在线观看| 欧美精品欧美极品欧美视频| 青青在线视频性感少妇和隔壁黑丝 | caoporm超碰国产| 亚洲午夜伦理视频在线| 天天操,天天干,天天射| 强行扒开双腿猛烈进入免费版| 岛国青草视频在线观看| 高清成人av一区三区 | 视频在线亚洲一区二区| 97黄网站在线观看| 免费高清自慰一区二区三区网站| 中文字幕亚洲中文字幕| 韩国三级aaaaa高清视频| 天天操天天射天天操天天天| 日噜噜噜夜夜噜噜噜天天噜噜噜 | 亚洲一级av无码一级久久精品| 韩国女主播精品视频网站| 91国内视频在线观看| 精品人妻伦一二三区久 | 免费观看国产综合视频| 国产精品久久综合久久| 综合激情网激情五月天| av久久精品北条麻妃av观看| 亚洲av第国产精品| 超碰97人人做人人爱| 日本脱亚入欧是指什么| 一区二区三区国产精选在线播放| 亚洲精品麻豆免费在线观看 | 成熟熟女国产精品一区| 涩涩的视频在线观看视频| 深夜男人福利在线观看| 在线观看一区二区三级| 中国黄片视频一区91| 大鸡吧插入女阴道黄色片| 免费大片在线观看视频网站| 欧美特色aaa大片| 日本少妇的秘密免费视频| 激情国产小视频在线| 亚洲第一伊人天堂网| 久草电影免费在线观看| 亚洲图库另类图片区| 亚洲欧美自拍另类图片| 亚洲一级美女啪啪啪| 国产 在线 免费 精品| 2025年人妻中文字幕乱码在线 | 中英文字幕av一区| 亚洲在线免费h观看网站| 大白屁股精品视频国产| 岛国黄色大片在线观看| 欧美精品亚洲精品日韩在线| 青青青青青手机视频| 亚洲第17页国产精品| 在线免费91激情四射| 天码人妻一区二区三区在线看 | 青青草亚洲国产精品视频| 久久久久久性虐视频| 亚洲欧美自拍另类图片| 欧美综合婷婷欧美综合| 日视频免费在线观看| 91亚洲手机在线视频播放| 亚洲区美熟妇久久久久| 国产午夜亚洲精品麻豆| 人妻少妇av在线观看| 青青青视频手机在线观看| 人妻少妇中文有码精品| 久久久久只精品国产三级| 一区二区三区另类在线| jiuse91九色视频| 三级av中文字幕在线观看| 亚洲av日韩高清hd| 五月天中文字幕内射| 99热这里只有精品中文| 免费十精品十国产网站| 鸡巴操逼一级黄色气| 人妻无码色噜噜狠狠狠狠色| 亚洲综合乱码一区二区| tube69日本少妇| 亚洲一区自拍高清免费视频| 日韩不卡中文在线视频网站| 污污小视频91在线观看| 999热精品视频在线| 91国内精品自线在拍白富美| 午夜福利资源综合激情午夜福利资 | 人妻素人精油按摩中出| 天天操天天干天天插| 欧美韩国日本国产亚洲| 午夜精品福利91av| 天天色天天舔天天射天天爽| 亚洲人一区二区中文字幕| 亚洲一级美女啪啪啪| 一级黄色片夫妻性生活| 欧美日韩精品永久免费网址 | 欧美亚洲牲夜夜综合久久| 日韩a级黄色小视频| 日韩a级精品一区二区| jul—619中文字幕在线| 国产精品欧美日韩区二区| 熟女国产一区亚洲中文字幕| 天堂av中文在线最新版| 国产精品一区二区av国| 日韩精品啪啪视频一道免费| 青青社区2国产视频| 人人妻人人爽人人添夜| 男人的天堂av日韩亚洲| 男人操女人的逼免费视频| 天天操天天干天天艹| 亚洲精品亚洲人成在线导航| 一区二区在线视频中文字幕| 青青青青青青草国产| 午夜精品一区二区三区更新| 日本一二三中文字幕| 精品91自产拍在线观看一区| 国产精品大陆在线2019不卡| 91中文字幕免费在线观看| www日韩a级s片av| 熟女俱乐部一二三区| 久久久制服丝袜中文字幕| 91中文字幕最新合集| 狠狠操狠狠操免费视频| 偷拍3456eee| 亚洲视频在线视频看视频在线| 欲满人妻中文字幕在线| 中文字幕第1页av一天堂网| 色婷婷综合激情五月免费观看| 99久久超碰人妻国产| 超级av免费观看一区二区三区| 人妻少妇亚洲一区二区| 激情五月婷婷综合色啪| 五十路在线观看完整版| 日韩精品激情在线观看| 国产亚洲视频在线二区| 国产视频在线视频播放| 福利视频网久久91| 天天干夜夜操啊啊啊| 韩国黄色一级二级三级| 制丝袜业一区二区三区| 中文字幕日韩精品就在这里| 成人色综合中文字幕| 久久丁香婷婷六月天| www久久久久久久久久久| 精内国产乱码久久久久久| 中文字幕最新久久久| 日本美女性生活一级片| 狠狠躁狠狠爱网站视频| 免费69视频在线看| v888av在线观看视频| 1000部国产精品成人观看视频| 国产精品女邻居小骚货| 国产亚洲视频在线二区| 超碰公开大香蕉97| 97人妻总资源视频| 97人妻总资源视频| 美女福利视频网址导航| 欧美另类一区二区视频| 中文字幕在线第一页成人| 激情伦理欧美日韩中文字幕| 美女 午夜 在线视频| 欧美另类一区二区视频| 精品人妻每日一部精品| 超级碰碰在线视频免费观看| 亚洲麻豆一区二区三区| 国内资源最丰富的网站| 欧美成人综合视频一区二区| 97精品视频在线观看| 精品黑人巨大在线一区| 国产91久久精品一区二区字幕| 中国熟女@视频91| 性欧美日本大妈母与子| 色综合久久无码中文字幕波多| 狠狠操狠狠操免费视频| 大陆胖女人与丈夫操b国语高清| 91精品国产高清自在线看香蕉网| 很黄很污很色的午夜网站在线观看 | 成人高清在线观看视频| 欧美va亚洲va天堂va| 一色桃子久久精品亚洲| 丝袜肉丝一区二区三区四区在线看| 日本av熟女在线视频| 中英文字幕av一区| 中文字幕无码一区二区免费| 日韩美女精品视频在线观看网站| 欧美成人猛片aaaaaaa| 久久香蕉国产免费天天| 天天色天天操天天透| 国产精品自拍偷拍a| 欧美地区一二三专区| 国产免费av一区二区凹凸四季| 我想看操逼黄色大片| 在线免费91激情四射 | 午夜成午夜成年片在线观看| 中文字幕av熟女人妻| 亚洲视频在线视频看视频在线| 天天想要天天操天天干| 日韩一个色综合导航| nagger可以指黑人吗| nagger可以指黑人吗| 男女啪啪啪啪啪的网站| 又色又爽又黄的美女裸体| 黄色黄色黄片78在线| 日韩人妻xxxxx| 欧美日韩亚洲国产无线码| 亚洲av人人澡人人爽人人爱| 3344免费偷拍视频| caoporm超碰国产| 国产黄色片蝌蚪九色91| yy96视频在线观看| 老师让我插进去69AV| 日噜噜噜夜夜噜噜噜天天噜噜噜| 亚洲成人三级在线播放| 久草视频在线一区二区三区资源站| 色吉吉影音天天干天天操 | 亚洲熟妇久久无码精品| 最新国产精品网址在线观看| 日本性感美女写真视频| 日韩精品中文字幕福利| 亚洲护士一区二区三区| 97精品视频在线观看| 97超碰最新免费在线观看| 一区国内二区日韩三区欧美| 淫秽激情视频免费观看| 国产第一美女一区二区三区四区| 黄色片黄色片wyaa| 99国产精品窥熟女精品| 少妇高潮一区二区三区| 99一区二区在线观看| 亚洲中文字幕国产日韩| 啊啊好慢点插舔我逼啊啊啊视频| 91欧美在线免费观看| 日曰摸日日碰夜夜爽歪歪 | 狠狠嗨日韩综合久久| 亚洲2021av天堂| 搡老熟女一区二区在线观看| 一区二区三区四区五区性感视频| 久久久精品精品视频视频| 综合页自拍视频在线播放| 久草视频 久草视频2| 精品久久久久久久久久中文蒉 | 在线视频免费观看网| 一区二区三区精品日本| 日日夜夜精品一二三| 免费看美女脱光衣服的视频| 2012中文字幕在线高清| 国产亚洲视频在线观看| 班长撕开乳罩揉我胸好爽| 亚洲av日韩高清hd| 一区二区三区四区中文| 偷拍自拍视频图片免费| 中文亚洲欧美日韩无线码| 亚洲一区av中文字幕在线观看| 中文字幕人妻av在线观看| 熟女在线视频一区二区三区| 欧美 亚洲 另类综合| 任你操任你干精品在线视频| 午夜毛片不卡在线看| 91免费放福利在线观看| av在线免费资源站| 亚洲精品中文字幕下载| 久久热久久视频在线观看| 国产九色91在线视频| 少妇露脸深喉口爆吞精| 久精品人妻一区二区三区| 天堂av中文在线最新版| 午夜场射精嗯嗯啊啊视频| 国产精品成人xxxx| 最近中文2019年在线看| 一区二区三区av高清免费| 中文字母永久播放1区2区3区| 久久久久五月天丁香社区| 国产品国产三级国产普通话三级| 性欧美日本大妈母与子| 国产高清在线在线视频| 精品一线二线三线日本| 亚洲欧美国产麻豆综合| 亚洲一级美女啪啪啪| 大鸡八强奸视频在线观看| 在线观看日韩激情视频| 一区二区免费高清黄色视频| 99久久激情婷婷综合五月天| 99视频精品全部15| 久久这里只有精品热视频| 3344免费偷拍视频| av在线免费资源站| 日本熟妇丰满厨房55| 夜夜骑夜夜操夜夜奸| 日韩中文字幕在线播放第二页 | 婷婷激情四射在线观看视频| 国产女孩喷水在线观看| 美日韩在线视频免费看| 宅男噜噜噜666国产| 91色秘乱一区二区三区| 女同久久精品秋霞网| 国产日韩精品免费在线| 日本精品美女在线观看| 国产av福利网址大全| 精品久久久久久久久久中文蒉 | av中文在线天堂精品| 亚洲欧洲一区二区在线观看| 国产一区二区火爆视频| 特级无码毛片免费视频播放| 污污小视频91在线观看| 摧残蹂躏av一二三区| 黄色成年网站午夜在线观看| 蜜臀av久久久久蜜臀av麻豆| 日本午夜久久女同精女女| 青青青青爽手机在线| 搞黄色在线免费观看| 99av国产精品欲麻豆| 久久精品国产23696| 久久一区二区三区人妻欧美| 在线免费视频 自拍| 日韩美女精品视频在线观看网站| 中文字幕中文字幕人妻| 天堂av狠狠操蜜桃| 97年大学生大白天操逼| 自拍偷区二区三区麻豆| 国产视频网站一区二区三区 | 伊人成人综合开心网| 红桃av成人在线观看| 中文 成人 在线 视频| 天天日天天敢天天干| 色婷婷久久久久swag精品| 韩国爱爱视频中文字幕| 天天摸天天亲天天舔天天操天天爽| 亚国产成人精品久久久| 青草久久视频在线观看| 欧美中文字幕一区最新网址| 亚洲另类在线免费观看| 中国老熟女偷拍第一页| 成年人该看的视频黄免费| 久久www免费人成一看片| 国产精品久久综合久久| 我想看操逼黄色大片| 日本18禁久久久久久| 少妇露脸深喉口爆吞精| 一区二区三区四区中文| 国产亚洲成人免费在线观看| a v欧美一区=区三区| 2017亚洲男人天堂| 亚洲av无女神免非久久| 欧美专区第八页一区在线播放| av线天堂在线观看| 黑人3p华裔熟女普通话| 男人的天堂av日韩亚洲| 亚洲欧美清纯唯美另类| 亚洲无码一区在线影院| 涩爱综合久久五月蜜臀| 欧美精品国产综合久久| 人妻自拍视频中国大陆| 国产麻豆剧传媒精品国产av蜜桃| 美女张开腿让男生操在线看| 亚洲免费av在线视频| 人妻少妇中文有码精品| 91人妻精品一区二区久久| 欧美偷拍自拍色图片| 中英文字幕av一区| 久久久久久久一区二区三| av新中文天堂在线网址| 精品一区二区三四区| 中文人妻AV久久人妻水| 免费观看理论片完整版| 大香蕉伊人中文字幕| 啊用力插好舒服视频| 国产变态另类在线观看| 性欧美激情久久久久久久| 欧美视频中文一区二区三区| 人妻最新视频在线免费观看| 护士小嫩嫩又紧又爽20p| 亚洲国产精品黑丝美女| mm131美女午夜爽爽爽| 老师啊太大了啊啊啊尻视频| 岛国毛片视频免费在线观看| 日本中文字幕一二区视频| 人人妻人人爽人人澡人人精品| 亚洲国产美女一区二区三区软件| 99热久久极品热亚洲| 人妻无码中文字幕专区| 国产欧美日韩第三页| 欧美精品黑人性xxxx| 亚洲最大免费在线观看| 91麻豆精品91久久久久同性| huangse网站在线观看| 福利一二三在线视频观看| av亚洲中文天堂字幕网| 久久这里只有精品热视频| 欲满人妻中文字幕在线| 亚洲 中文 自拍 无码| 免费一级特黄特色大片在线观看| 亚洲成人av在线一区二区| 午夜成午夜成年片在线观看| 亚洲av男人的天堂你懂的| 999热精品视频在线| 亚洲一级av大片免费观看| 55夜色66夜色国产精品站| 高潮喷水在线视频观看| 亚洲一区二区三区精品视频在线 | 国产精品人妻66p| 国产成人无码精品久久久电影| 青青社区2国产视频| 爆乳骚货内射骚货内射在线| 丝袜肉丝一区二区三区四区在线| 亚洲成人av在线一区二区| 日韩视频一区二区免费观看| 丝袜肉丝一区二区三区四区在线| 成人sm视频在线观看| 日噜噜噜夜夜噜噜噜天天噜噜噜| 91国语爽死我了不卡| 一区二区久久成人网| 国产日韩精品免费在线| 男人操女人逼逼视频网站| 99精品国产免费久久| 精品老妇女久久9g国产| 晚上一个人看操B片| 精品国产高潮中文字幕| 欧美专区第八页一区在线播放| 日韩一个色综合导航| 欧美国产亚洲中英文字幕| 97青青青手机在线视频| 日本韩国免费一区二区三区视频| av大全在线播放免费| 在线观看免费av网址大全| 小泽玛利亚视频在线观看| 国产 在线 免费 精品| 狠狠躁狠狠爱网站视频| 亚洲激情av一区二区| 亚洲 欧美 自拍 偷拍 在线| 丰满的子国产在线观看| 国产久久久精品毛片| 国产福利小视频二区| 欧洲日韩亚洲一区二区三区| 91中文字幕最新合集| 女生被男生插的视频网站| 性感美女诱惑福利视频| 色哟哟国产精品入口| 亚洲护士一区二区三区| 丝袜亚洲另类欧美变态| 青青草人人妻人人妻| 中文字幕高清在线免费播放 | 亚洲午夜高清在线观看| 91极品新人『兔兔』精品新作| 午夜福利人人妻人人澡人人爽| 制丝袜业一区二区三区| 中文字幕 码 在线视频| 国产性感美女福利视频| 自拍偷拍亚洲欧美在线视频| 午夜福利资源综合激情午夜福利资 | 国产不卡av在线免费| 欧美熟妇一区二区三区仙踪林 | 久久久久久cao我的性感人妻| 手机看片福利盒子日韩在线播放| 色秀欧美视频第一页| 在线观看免费岛国av| 九九视频在线精品播放| 亚洲最大免费在线观看| 一区二区三区四区视频在线播放| 护士小嫩嫩又紧又爽20p| 中文字幕一区二区人妻电影冢本 | 2021最新热播中文字幕| 天天操,天天干,天天射| 亚洲综合乱码一区二区| 懂色av蜜桃a v| 欧美成人一二三在线网| 福利一二三在线视频观看| 国产亚洲欧美45p| 久久久超爽一二三av| 日韩三级电影华丽的外出| 老师啊太大了啊啊啊尻视频| av男人天堂狠狠干| 国产精品黄色的av| 偷偷玩弄新婚人妻h视频| 成人免费毛片aaaa| 亚洲国产免费av一区二区三区 | www日韩a级s片av| 国产一区二区三免费视频| 中文字幕一区的人妻欧美日韩| 日本女人一级免费片| 天天通天天透天天插| 男人靠女人的逼视频| 少妇ww搡性bbb91| 大鸡巴操b视频在线| 男人天堂av天天操| 欧美精品伦理三区四区| 又粗又硬又猛又爽又黄的| 精品少妇一二三视频在线| 啪啪啪18禁一区二区三区| 日本裸体熟妇区二区欧美| 日韩人妻在线视频免费| 熟妇一区二区三区高清版| 日韩成人性色生活片| 国产91精品拍在线观看| 欧美黑人性暴力猛交喷水| av在线shipin| 欧美香蕉人妻精品一区二区| 国产日韩欧美视频在线导航| av天堂中文免费在线| 久久永久免费精品人妻专区| 97精品综合久久在线| 青青青青青免费视频| 午夜激情久久不卡一区二区| 男人靠女人的逼视频| 亚洲国产免费av一区二区三区| 夏目彩春在线中文字幕| 色天天天天射天天舔| caoporm超碰国产| 久久久久久久久久久免费女人| 97人人模人人爽人人喊| 无码精品一区二区三区人| wwwxxx一级黄色片| 成人在线欧美日韩国产| 岛国毛片视频免费在线观看| 国产九色91在线视频| 2022天天干天天操| 被大鸡吧操的好舒服视频免费| 成人资源在线观看免费官网| 视频二区在线视频观看 | 喷水视频在线观看这里只有精品| 91精品国产高清自在线看香蕉网 | 色伦色伦777国产精品| 红杏久久av人妻一区| 欧美日本在线观看一区二区| 97年大学生大白天操逼| 亚洲老熟妇日本老妇| 国产亚洲精品欧洲在线观看| 亚洲老熟妇日本老妇| 国产乱子伦一二三区| 国产实拍勾搭女技师av在线| 亚洲午夜电影之麻豆| 91试看福利一分钟| 99国产精品窥熟女精品| 神马午夜在线观看视频| 最近的中文字幕在线mv视频| 热久久只有这里有精品| 日韩美av高清在线| 天天日天天干天天干天天日| 日韩加勒比东京热二区| 亚洲综合一区成人在线| 18禁网站一区二区三区四区| 色97视频在线播放| 亚洲最大黄了色网站| 亚洲高清免费在线观看视频| 91色老99久久九九爱精品| 肏插流水妹子在线乐播下载| 大鸡吧插逼逼视频免费看| 亚洲天堂第一页中文字幕| 精品视频国产在线观看| 日韩北条麻妃一区在线| 精品久久久久久久久久久久人妻| 亚洲激情,偷拍视频| 99热99re在线播放| 开心 色 六月 婷婷| 亚洲推理片免费看网站| 精品一区二区三区在线观看| 视频在线免费观看你懂得| 中文字幕中文字幕人妻| 国产福利小视频二区| 国产超码片内射在线| 亚洲av男人的天堂你懂的| 不卡一区一区三区在线| 亚洲精品乱码久久久本| 沈阳熟妇28厘米大战黑人| 婷婷综合蜜桃av在线| 78色精品一区二区三区| 日本韩国在线观看一区二区| 中文字幕亚洲久久久| 涩爱综合久久五月蜜臀| 最新欧美一二三视频| 天天干天天插天天谢| 一区二区三区毛片国产一区| 日美女屁股黄邑视频| 亚洲高清国产自产av| 蜜桃色婷婷久久久福利在线| 亚洲一级av大片免费观看| 中文字幕人妻被公上司喝醉在线| 国产精品中文av在线播放| 888亚洲欧美国产va在线播放| 亚洲一区久久免费视频| 大屁股肉感人妻中文字幕在线| 国产97在线视频观看| 久久精品国产亚洲精品166m| 天天干天天啪天天舔| 中文字幕免费在线免费| 日韩成人综艺在线播放| 亚洲国产成人最新资源| 国产福利小视频大全| 国产成人综合一区2区| 日韩欧美国产精品91| 欧美亚洲一二三区蜜臀| 日韩美女福利视频网| 亚洲2021av天堂| 国产精品久久久久久美女校花| 日本熟妇丰满厨房55| 91综合久久亚洲综合| 97香蕉碰碰人妻国产樱花| 夜夜操,天天操,狠狠操| 天天日天天玩天天摸| 欧美精品黑人性xxxx| 国产激情av网站在线观看| av天堂中文免费在线| 日韩精品电影亚洲一区| 久久机热/这里只有| 久久久久久久久久久久久97| 午夜激情高清在线观看| 国产va在线观看精品| 亚洲精品午夜久久久久| 在线观看国产网站资源| 成人免费公开视频无毒| 高清成人av一区三区| 韩国亚洲欧美超一级在线播放视频| 亚洲日产av一区二区在线| 99婷婷在线观看视频| 亚洲免费va在线播放| 91综合久久亚洲综合| 91高清成人在线视频| 免费成人va在线观看| 国产亚洲精品欧洲在线观看| 老司机在线精品福利视频| 精品乱子伦一区二区三区免费播| 日韩在线中文字幕色| 熟女少妇激情五十路| 国产精品国产三级国产精东| 噜噜色噜噜噜久色超碰| 夜夜骑夜夜操夜夜奸| av高潮迭起在线观看| 青草久久视频在线观看| 久久机热/这里只有| 全国亚洲男人的天堂| 欧美亚洲免费视频观看| 黄色片一级美女黄色片| 第一福利视频在线观看| 成年人啪啪视频在线观看| 天堂av在线播放免费| 天天操天天干天天插| 中文字幕无码一区二区免费| 成年人该看的视频黄免费| 黄网十四区丁香社区激情五月天 | 天天干天天插天天谢| 久久久久久9999久久久久| 欧亚日韩一区二区三区观看视频| 欧美精品亚洲精品日韩在线| 中国产一级黄片免费视频播放| www日韩a级s片av| 在线观看欧美黄片一区二区三区| 欧美老鸡巴日小嫩逼| 亚洲av在线观看尤物| 女同性ⅹxx女同h偷拍| 欧洲精品第一页欧洲精品亚洲| 精品成人午夜免费看| 免费一级特黄特色大片在线观看| 日韩av有码中文字幕| 国产在线一区二区三区麻酥酥| 91精品啪在线免费| 国产精品女邻居小骚货| 天天干天天插天天谢| 久久国产精品精品美女| 久久久久久九九99精品| 天天日天天摸天天爱| 亚洲天堂精品福利成人av| 天天日天天操天天摸天天舔| 日韩欧美高清免费在线| 欧美成人猛片aaaaaaa| 888欧美视频在线| 超污视频在线观看污污污| 亚洲熟女久久久36d| 国产女孩喷水在线观看| 久久香蕉国产免费天天| 国产精品一区二区久久久av| 91九色国产porny蝌蚪| 人妻凌辱欧美丰满熟妇| 美日韩在线视频免费看| 欧美亚洲一二三区蜜臀| 性感美女福利视频网站| 亚洲国产在线精品国偷产拍| 国产成人午夜精品福利| 亚洲va天堂va国产va久| 亚洲视频在线观看高清| 久久综合老鸭窝色综合久久| sejizz在线视频| 国产精品伦理片一区二区| 含骚鸡巴玩逼逼视频| caoporn蜜桃视频| 人妻熟女在线一区二区| 中国产一级黄片免费视频播放| 最新97国产在线视频| 黄工厂精品视频在线观看| 国产91精品拍在线观看| 久久免费看少妇高潮完整版| 91免费观看国产免费| 中文字母永久播放1区2区3区| 狠狠躁夜夜躁人人爽天天久天啪| 国产91嫩草久久成人在线视频| 久久久久久九九99精品| 五月色婷婷综合开心网4438| 欧美专区第八页一区在线播放| 精品久久久久久久久久久a√国产 日本女大学生的黄色小视频 | 综合色区亚洲熟妇shxstz| 欧美亚洲少妇福利视频| 2020av天堂网在线观看| 日本欧美视频在线观看三区| 男人的天堂一区二区在线观看| 99久久99久国产黄毛片| 国产一级精品综合av| sspd152中文字幕在线| av在线免费观看亚洲天堂| 中文字幕日韩91人妻在线| 91久久精品色伊人6882| 九色精品视频在线播放| 91精品国产91青青碰| 97人妻色免费视频| 丝袜亚洲另类欧美变态| 91欧美在线免费观看| 岛国黄色大片在线观看| av一本二本在线观看| 日韩精品二区一区久久| 亚洲专区激情在线观看视频| 亚洲欧洲一区二区在线观看| 人妻凌辱欧美丰满熟妇| 免费看国产又粗又猛又爽又黄视频| 日韩视频一区二区免费观看| 亚洲免费av在线视频| 热99re69精品8在线播放| 男女啪啪视频免费在线观看| 天天做天天干天天操天天射| 欧美日韩v中文在线| 超碰97免费人妻麻豆| 午夜场射精嗯嗯啊啊视频| 日本av在线一区二区三区| 欧美成人综合视频一区二区| 免费观看理论片完整版| 欧美日韩高清午夜蜜桃大香蕉| 亚洲综合色在线免费观看| 丝袜国产专区在线观看| av老司机精品在线观看| 青青伊人一精品视频| 中文字幕人妻被公上司喝醉在线| 成人亚洲精品国产精品| 最近的中文字幕在线mv视频| 在线观看黄色成年人网站| 日本中文字幕一二区视频| 老司机深夜免费福利视频在线观看| 亚洲国产精品久久久久久6| 中文字幕在线永久免费播放| 中国熟女@视频91| 超污视频在线观看污污污| 成年午夜免费无码区| 国产亚洲欧美45p| 亚洲精品 日韩电影| 午夜久久香蕉电影网| 偷青青国产精品青青在线观看| 亚洲精品国偷自产在线观看蜜桃| 天天干夜夜操天天舔| 日韩欧美在线观看不卡一区二区 | 青青草国内在线视频精选| 午夜婷婷在线观看视频| 年轻的人妻被夫上司侵犯| 久久久久久cao我的性感人妻| 91p0rny九色露脸熟女| 偷拍自拍福利视频在线观看| 99re6热在线精品| 超碰97免费人妻麻豆| jul—619中文字幕在线| 啪啪啪啪啪啪啪啪av| 欧美亚洲自偷自拍 在线| 啪啪啪啪啪啪啪免费视频| 91人妻人人做人人爽在线| 91国产在线免费播放| 亚洲综合在线视频可播放| 亚洲成人黄色一区二区三区| 绝色少妇高潮3在线观看| 人妻另类专区欧美制服| 日本熟妇一区二区x x| 天天日天天透天天操| 天天做天天干天天操天天射| 亚洲一区自拍高清免费视频| 热思思国产99re| 一区二区三区欧美日韩高清播放| 天天插天天色天天日| 亚洲国产欧美国产综合在线 | 天天操天天干天天日狠狠插 | 青青草在观免费国产精品| 天天干天天操天天摸天天射| 亚洲成人av在线一区二区| 99精品免费久久久久久久久a| 青青青青青青青青青国产精品视频 | 色噜噜噜噜18禁止观看| 婷婷色国产黑丝少妇勾搭AV| 老司机午夜精品视频资源| 91麻豆精品久久久久| 久久丁香花五月天色婷婷| 国产性生活中老年人视频网站| 青青草原色片网站在线观看| 国产精彩对白一区二区三区| 中文字幕一区二区亚洲一区| 久久国产精品精品美女| 日韩人妻丝袜中文字幕| 亚洲无线观看国产高清在线| 国产精品一区二区三区蜜臀av| 欧美黑人性暴力猛交喷水| 曰本无码人妻丰满熟妇啪啪| av老司机精品在线观看| 国产亚洲欧美视频网站| 1区2区3区不卡视频| 亚洲综合一区成人在线| 美女被肏内射视频网站| 亚洲另类综合一区小说| 18禁免费av网站| 日韩精品电影亚洲一区| 精品91自产拍在线观看一区| 日本18禁久久久久久| 爆乳骚货内射骚货内射在线| 超级福利视频在线观看| 又粗又硬又猛又黄免费30| 大屁股肉感人妻中文字幕在线| 大香蕉福利在线观看| 日本福利午夜电影在线观看| 国产日韩一区二区在线看| av在线观看网址av| 国产又粗又猛又爽又黄的视频美国| 人人妻人人澡欧美91精品| 亚洲激情唯美亚洲激情图片| 欧美色呦呦最新网址| 黄色片黄色片wyaa| 一区二区三区四区中文| 欧洲欧美日韩国产在线| 亚洲超碰97人人做人人爱| aⅴ五十路av熟女中出| 日韩亚洲高清在线观看| 97黄网站在线观看| 亚洲特黄aaaa片| 欧美熟妇一区二区三区仙踪林| 国产V亚洲V天堂无码欠欠| 亚洲一区二区三区偷拍女厕91| 小泽玛利亚视频在线观看| 亚洲综合另类欧美久久| 日日夜夜大香蕉伊人| 端庄人妻堕落挣扎沉沦| 班长撕开乳罩揉我胸好爽| 亚洲福利精品视频在线免费观看| 亚洲专区激情在线观看视频| 成人网18免费视频版国产| 欧美少妇性一区二区三区| 99久久成人日韩欧美精品| 亚洲av天堂在线播放| 国产自拍在线观看成人| 亚洲 欧美 自拍 偷拍 在线| 色在线观看视频免费的| 亚洲成人国产综合一区| 欧美特级特黄a大片免费| 99久久99久国产黄毛片| 毛片av在线免费看| 久草视频首页在线观看| 视频在线免费观看你懂得| 夜色撩人久久7777| 大胆亚洲av日韩av| 鸡巴操逼一级黄色气| 青春草视频在线免费播放| 亚洲熟妇x久久av久久| 亚洲欧美久久久久久久久| 国产精品久久久久久美女校花| 热思思国产99re| 国产精品免费不卡av| 欧美日韩中文字幕欧美| 色综合久久无码中文字幕波多| 日韩a级精品一区二区| 黄色片年轻人在线观看| 精品美女福利在线观看| 精品国产乱码一区二区三区乱| 午夜精品一区二区三区更新| 超黄超污网站在线观看| 晚上一个人看操B片| 色狠狠av线不卡香蕉一区二区| 亚洲精品 日韩电影| 人妻自拍视频中国大陆| 又色又爽又黄又刺激av网站| 人人妻人人爽人人添夜| 黑人解禁人妻叶爱071| 一色桃子久久精品亚洲| 在线国产精品一区二区三区| 成熟丰满熟妇高潮xx×xx | 日韩亚洲高清在线观看| 精品一区二区三区在线观看| 亚洲第一黄色在线观看| 亚洲欧美另类手机在线| v888av在线观看视频| avjpm亚洲伊人久久| 欧美一区二区三区久久久aaa| 美女福利视频网址导航| 色在线观看视频免费的| 日本18禁久久久久久| 东京干手机福利视频| 亚洲欧美在线视频第一页| 女同久久精品秋霞网| 在线观看免费av网址大全| av中文在线天堂精品| 淫秽激情视频免费观看| 黄色录像鸡巴插进去| 一区二区视频在线观看视频在线| 男人操女人逼逼视频网站| 最新中文字幕免费视频| 美味人妻2在线播放| 无码国产精品一区二区高潮久久4| 精品黑人一区二区三区久久国产| 91国产在线免费播放| 亚洲粉嫩av一区二区三区| 免费看国产av网站| 国产一级精品综合av| 亚洲码av无色中文| 午夜福利资源综合激情午夜福利资 | 中文 成人 在线 视频| 自拍偷拍,中文字幕| 欧美少妇性一区二区三区| 青青社区2国产视频| 毛片av在线免费看| 天天草天天色天天干| 91综合久久亚洲综合| 黑人解禁人妻叶爱071| 国产 在线 免费 精品| av在线免费中文字幕| 亚洲欧美激情中文字幕| 美女操逼免费短视频下载链接| 骚货自慰被发现爆操| 日本xx片在线观看| 青草青永久在线视频18| 都市激情校园春色狠狠| 曰本无码人妻丰满熟妇啪啪| 亚洲精品国产久久久久久| 国产亚洲欧美另类在线观看| av视网站在线观看| 视频久久久久久久人妻| 在线播放国产黄色av| 国产成人一区二区三区电影网站| 黄色片一级美女黄色片| 成人资源在线观看免费官网| 十八禁在线观看地址免费| 中文字母永久播放1区2区3区 | 中文字幕第1页av一天堂网| 成人蜜臀午夜久久一区| 人人妻人人人操人人人爽| 黄色片一级美女黄色片| 亚洲成人午夜电影在线观看| 韩国男女黄色在线观看| 在线观看国产网站资源| 久久久久五月天丁香社区| 漂亮 人妻被中出中文| 欧美亚洲自偷自拍 在线| 国产视频在线视频播放| 偷拍自拍视频图片免费| japanese日本熟妇另类| 日韩精品二区一区久久| 国产密臀av一区二区三| 欧洲欧美日韩国产在线| 美女小视频网站在线| 91极品大一女神正在播放| 久久亚洲天堂中文对白| 五十路熟女人妻一区二区9933| 欧美精品欧美极品欧美视频| 婷婷久久一区二区字幕网址你懂得 | 适合午夜一个人看的视频| 精品久久久久久久久久久久人妻| 国产女人露脸高潮对白视频| 欧美乱妇无乱码一区二区| 亚洲一区自拍高清免费视频| 国产精彩福利精品视频| 91色九色porny| 亚洲在线一区二区欧美| 午夜的视频在线观看| 精品久久久久久久久久久久人妻| 亚洲av无码成人精品区辽| 夜夜操,天天操,狠狠操| 1000部国产精品成人观看视频| 97超碰免费在线视频| 国产精品黄片免费在线观看| 欧美成人综合色在线噜噜| 免费69视频在线看| 国产福利小视频免费观看| 大骚逼91抽插出水视频| 亚洲成a人片777777| 日韩欧美在线观看不卡一区二区| 亚洲欧美自拍另类图片| 国产janese在线播放| 啊啊啊视频试看人妻| 国产精品女邻居小骚货| 99久久成人日韩欧美精品| 黑人巨大精品欧美视频| 国产熟妇人妻ⅹxxxx麻豆| 国产成人精品亚洲男人的天堂| 美洲精品一二三产区区别| aiss午夜免费视频| 国产亚洲国产av网站在线| 精品老妇女久久9g国产| 亚洲第一黄色在线观看| 成年人黄色片免费网站| 免费看高清av的网站| 亚洲一区二区三区在线高清| 成人影片高清在线观看| 精品视频一区二区三区四区五区| 美日韩在线视频免费看| 日韩黄色片在线观看网站| 最近中文2019年在线看| 日韩美在线观看视频黄| 青娱乐极品视频青青草| 中文字幕一区二 区二三区四区| 麻豆性色视频在线观看| 激情小视频国产在线| 日本美女性生活一级片| 中文字幕日韩精品就在这里| 97超碰免费在线视频| 久草视频中文字幕在线观看| 大鸡吧插逼逼视频免费看 | 国产精品女邻居小骚货| 麻豆精品成人免费视频| 青青草原网站在线观看| 97人妻夜夜爽二区欧美极品| 777奇米久久精品一区| sw137 中文字幕 在线| 亚洲欧美成人综合在线观看| 自拍偷拍 国产资源| 国产麻豆剧传媒精品国产av蜜桃 | 午夜精品亚洲精品五月色| 天天干天天操天天扣| 五月婷婷在线观看视频免费 | 99国内小视频在现欢看| 国产真实乱子伦a视频| 国产普通话插插视频| av天堂加勒比在线| 日本黄色特一级视频| 国产精品免费不卡av| 国产精品日韩欧美一区二区| 青青青青青青草国产| 成人亚洲国产综合精品| 自拍偷拍日韩欧美一区二区| 人妻凌辱欧美丰满熟妇| 天天干夜夜操啊啊啊| 91九色porny蝌蚪国产成人| 天堂v男人视频在线观看| 免费啪啪啪在线观看视频| 国产日本精品久久久久久久 | 午夜在线一区二区免费| 天天干天天日天天干天天操| 北条麻妃高跟丝袜啪啪| 国产1区,2区,3区| 老师啊太大了啊啊啊尻视频| 和邻居少妇愉情中文字幕| 国产在线一区二区三区麻酥酥 | 亚洲最大免费在线观看| 国产乱子伦一二三区| 日本三极片中文字幕| 欧美在线一二三视频| 亚洲精品色在线观看视频| 黑人解禁人妻叶爱071| 午夜的视频在线观看| 超级av免费观看一区二区三区| 亚洲一级av无码一级久久精品| 中文字幕奴隷色的舞台50| 99精品视频在线观看婷婷| 中国老熟女偷拍第一页| 91九色国产熟女一区二区 | 国产精品午夜国产小视频| 久久香蕉国产免费天天| 黄片色呦呦视频免费看| 亚洲2021av天堂| 中国老熟女偷拍第一页| 91精品免费久久久久久| 青草青永久在线视频18| 大陆胖女人与丈夫操b国语高清 | 老司机福利精品视频在线| 啪啪啪啪啪啪啪啪av| 亚洲一级av无码一级久久精品| aiss午夜免费视频| 啊啊啊想要被插进去视频| 中文字幕国产专区欧美激情| 国产自拍黄片在线观看| 午夜影院在线观看视频羞羞羞| 欧洲欧美日韩国产在线| 韩国黄色一级二级三级| 免费黄页网站4188| 国产97视频在线精品| 中字幕人妻熟女人妻a62v网| 91久久人澡人人添人人爽乱| 免费一级特黄特色大片在线观看| 青青草精品在线视频观看| 99久久超碰人妻国产| 91精品国产91久久自产久强| 日韩欧美制服诱惑一区在线| 在线观看成人国产电影| 国产精品视频资源在线播放| 天天日天天干天天插舔舔| 日韩中文字幕精品淫| 99久久超碰人妻国产| 含骚鸡巴玩逼逼视频| av老司机精品在线观看| 亚洲欧美成人综合视频| 亚洲综合自拍视频一区| 亚洲欧洲av天堂综合| 欧美在线精品一区二区三区视频| 青娱乐在线免费视频盛宴| 中文字日产幕乱六区蜜桃| 久草电影免费在线观看| 性欧美激情久久久久久久 | 污污小视频91在线观看| 92福利视频午夜1000看| 亚洲av琪琪男人的天堂| 欧美中国日韩久久精品| 丝袜国产专区在线观看| 免费无码人妻日韩精品一区二区 | 男人操女人的逼免费视频| av老司机精品在线观看| 97香蕉碰碰人妻国产樱花| 在线免费观看欧美小视频| 欧美成人综合视频一区二区 | 黄色成年网站午夜在线观看| 夜色福利视频在线观看| 成人免费毛片aaaa| 综合页自拍视频在线播放| 午夜影院在线观看视频羞羞羞| 欧美一区二区三区激情啪啪啪 | av无限看熟女人妻另类av| 99的爱精品免费视频| 五月天久久激情视频| 日韩av有码中文字幕| 亚洲成人三级在线播放 | 最新国产精品拍在线观看| 人人人妻人人澡人人| 91精品激情五月婷婷在线| 9久在线视频只有精品| 天天日天天敢天天干| 黄色录像鸡巴插进去| 中文字幕在线视频一区二区三区| 精品suv一区二区69| 精品一区二区三区三区88| 伊人成人在线综合网| 日本少妇人妻xxxxx18| 91综合久久亚洲综合| 欧美专区第八页一区在线播放| 婷婷激情四射在线观看视频| 一区二区三区欧美日韩高清播放 | 国产露脸对白在线观看| 免费av岛国天堂网站| 美味人妻2在线播放| 亚洲精品乱码久久久本| 自拍偷区二区三区麻豆| 亚洲欧美自拍另类图片| 日本欧美视频在线观看三区| 日本少妇高清视频xxxxx | 国产大学生援交正在播放| 国产一区二区神马久久| av网址在线播放大全| 国产日本欧美亚洲精品视| 亚洲蜜臀av一区二区三区九色| 欧洲黄页网免费观看| 精品国产亚洲av一淫| 九一传媒制片厂视频在线免费观看| 亚洲av香蕉一区区二区三区犇| 天天干天天日天天谢综合156| 国产精品大陆在线2019不卡| 亚洲在线一区二区欧美| huangse网站在线观看| 极品性荡少妇一区二区色欲| 成熟丰满熟妇高潮xx×xx | 日本少妇的秘密免费视频| 大香蕉大香蕉在线有码 av| 在线观看免费视频网| 91久久精品色伊人6882| 天天日天天敢天天干| 久久亚洲天堂中文对白| 2018在线福利视频| 国产91嫩草久久成人在线视频| 天天综合天天综合天天网| 99热99re在线播放| 98精产国品一二三产区区别| 97国产在线av精品| 日本美女成人在线视频| 亚洲中文字幕乱码区| 国产麻豆精品人妻av| 亚洲熟色妇av日韩熟色妇在线| 人妻丰满熟妇综合网| 新婚人妻聚会被中出| 国产精品久久综合久久| 加勒比视频在线免费观看| 自拍偷拍 国产资源| 日韩成人性色生活片| 欧美天堂av无线av欧美| 亚洲美女自偷自拍11页| 天天干天天操天天插天天日| 无码中文字幕波多野不卡| 五月婷婷在线观看视频免费| 91精品国产91久久自产久强| 色呦呦视频在线观看视频| 又大又湿又爽又紧A视频| 亚洲公开视频在线观看| 久久久久只精品国产三级| 天堂av在线最新版在线| 日本真人性生活视频免费看| 老司机福利精品视频在线| 熟女国产一区亚洲中文字幕| 一个人免费在线观看ww视频| 免费一级特黄特色大片在线观看| 91亚洲精品干熟女蜜桃频道| 开心 色 六月 婷婷| 蜜臀av久久久久久久| 91亚洲手机在线视频播放| 亚洲熟妇x久久av久久| 国产亚洲国产av网站在线| 97精品成人一区二区三区| 国产使劲操在线播放| 亚洲变态另类色图天堂网| 欧美日韩中文字幕欧美| 亚洲男人在线天堂网| 端庄人妻堕落挣扎沉沦| 亚洲精品高清自拍av| 蜜桃久久久久久久人妻| 精品视频国产在线观看| 18禁网站一区二区三区四区| 日本a级视频老女人| 91精品国产综合久久久蜜| 在线视频免费观看网| 欧美特级特黄a大片免费| 11久久久久久久久久久| 成人亚洲国产综合精品| 91人妻精品一区二区在线看| 4个黑人操素人视频网站精品91 | 男人的天堂av日韩亚洲| 人妻3p真实偷拍一二区| 青草久久视频在线观看| 91极品大一女神正在播放| 四虎永久在线精品免费区二区| 美女被肏内射视频网站| 夜色17s精品人妻熟女| 免费男阳茎伸入女阳道视频 | 日韩精品一区二区三区在线播放 | 91精品激情五月婷婷在线| 国产精品视频资源在线播放| 成人亚洲国产综合精品| 五十路丰满人妻熟妇| 粉嫩欧美美人妻小视频| 97国产在线观看高清| 最后99天全集在线观看| 自拍偷拍 国产资源| 国产精品国色综合久久| 欧美偷拍亚洲一区二区| 2021最新热播中文字幕| 亚洲欧美激情中文字幕| 亚洲男人让女人爽的视频| 亚洲中文精品人人免费| 亚洲中文字字幕乱码| 欧美日韩一级黄片免费观看| 岛国毛片视频免费在线观看| 亚洲的电影一区二区三区| 大鸡吧插逼逼视频免费看| 自拍偷拍,中文字幕| 在线免费观看欧美小视频| 精品av国产一区二区三区四区| 免费人成黄页网站在线观看国产| 视频二区在线视频观看| 日本免费一级黄色录像 | 青青草成人福利电影| 久草视频福利在线首页| 国产亚洲视频在线二区| 欧美成人小视频在线免费看| 91国产资源在线视频| 国产真实灌醉下药美女av福利| 国产乱弄免费视频观看| 青草久久视频在线观看| 欧美成人猛片aaaaaaa| 免费国产性生活视频| 丝袜肉丝一区二区三区四区在线| 国产老熟女伦老熟妇ⅹ| 一色桃子人妻一区二区三区| 天堂中文字幕翔田av| 久久香蕉国产免费天天| 国产九色91在线观看精品| 91天堂精品一区二区| 福利视频网久久91| 亚洲日本一区二区三区 | 激情国产小视频在线| 蜜桃专区一区二区在线观看| 日韩北条麻妃一区在线| 天天日夜夜干天天操| 99精品国自产在线人| 在线观看av2025| 欧美在线偷拍视频免费看| 成人蜜桃美臀九一一区二区三区| 男人靠女人的逼视频| 成人伊人精品色xxxx视频| 精品日产卡一卡二卡国色天香| 日本成人一区二区不卡免费在线| 午夜精品一区二区三区更新| 亚洲国产成人最新资源| 丰满的继坶3中文在线观看| 国产精品久久9999| 精品黑人巨大在线一区| 人人超碰国字幕观看97| 中国无遮挡白丝袜二区精品| 日本少妇高清视频xxxxx| 中文字幕在线观看极品视频| 蜜桃专区一区二区在线观看| 深夜男人福利在线观看| 啊用力插好舒服视频| www,久久久,com| 11久久久久久久久久久| 97人人妻人人澡人人爽人人精品| 高潮视频在线快速观看国家快速| 女人精品内射国产99| 午夜毛片不卡在线看| 99热久久这里只有精品8| 午夜精品亚洲精品五月色| 啪啪啪18禁一区二区三区 | 91p0rny九色露脸熟女| 伊人精品福利综合导航| 521精品视频在线观看| 青青青青草手机在线视频免费看| 97国产精品97久久| 婷婷综合亚洲爱久久| 伊人日日日草夜夜草| 色婷婷六月亚洲综合香蕉| 天天操天天插天天色| 中文字幕综合一区二区| 美女在线观看日本亚洲一区| 亚洲欧美激情中文字幕| 亚洲欧美久久久久久久久| 成年人午夜黄片视频资源| 国产实拍勾搭女技师av在线| 视频一区二区三区高清在线| 精品91自产拍在线观看一区| 在线 中文字幕 一区| 93人妻人人揉人人澡人人| 91亚洲国产成人精品性色| 中文字幕中文字幕 亚洲国产| 久久艹在线观看视频| 91亚洲精品干熟女蜜桃频道| 成年人午夜黄片视频资源| 亚洲欧美激情人妻偷拍| 人妻无码色噜噜狠狠狠狠色| 午夜精品一区二区三区4| 噜噜色噜噜噜久色超碰| 蜜桃精品久久久一区二区| 一区二区三区av高清免费| 国产日本欧美亚洲精品视| 日韩欧美国产一区不卡| jiujiure精品视频在线| av日韩在线免费播放| 大尺度激情四射网站| 五十路熟女人妻一区二| 97资源人妻免费在线视频| 在线免费91激情四射| 国产高清精品一区二区三区| 在线观看视频污一区| 久草电影免费在线观看| 人妻av无码专区久久绿巨人| aaa久久久久久久久| 成人av免费不卡在线观看| av中文字幕福利网| 美女 午夜 在线视频| 懂色av之国产精品| 国产av自拍偷拍盛宴| 国产亚洲四十路五十路|