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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis 消息队列的三种方案(List、Streams、Pub/Sub)

發(fā)布時間:2025/3/11 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis 消息队列的三种方案(List、Streams、Pub/Sub) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

現(xiàn)如今的互聯(lián)網(wǎng)應(yīng)用大都是采用 分布式系統(tǒng)架構(gòu) 設(shè)計的,所以 消息隊列 已經(jīng)逐漸成為企業(yè)應(yīng)用系統(tǒng) 內(nèi)部通信 的核心手段,它具有 低耦合可靠投遞廣播流量控制最終一致性 等一系列功能。

當(dāng)前使用較多的 消息隊列 有 RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ 等,而部分數(shù)據(jù)庫 如 Redis、MySQL 以及 phxsql ,如果硬搞的話,其實也可實現(xiàn)消息隊列的功能。

可能有人覺得,各種開源的 MQ 已經(jīng)足夠使用了,為什么需要用 Redis 實現(xiàn) MQ 呢?

  • 有些簡單的業(yè)務(wù)場景,可能不需要重量級的 MQ 組件(相比 Redis 來說,Kafka 和 RabbitMQ 都算是重量級的消息隊列)

那你有考慮過用 Redis 做消息隊列嗎?

這一章,我會結(jié)合消息隊列的特點和 Redis 做消息隊列的使用方式,以及實際項目中的使用,來和大家探討下 Redis 消息隊列的方案。

一、回顧消息隊列

消息隊列 是指利用 高效可靠消息傳遞機制 進行與平臺無關(guān)的 數(shù)據(jù)交流,并基于數(shù)據(jù)通信來進行分布式系統(tǒng)的集成。

通過提供 消息傳遞消息排隊 模型,它可以在 分布式環(huán)境 下提供 應(yīng)用解耦彈性伸縮冗余存儲流量削峰異步通信數(shù)據(jù)同步 等等功能,其作為 分布式系統(tǒng)架構(gòu) 中的一個重要組件,有著舉足輕重的地位。

mq_overview

現(xiàn)在回顧下,我們使用的消息隊列,一般都有什么樣的特點:

  • 三個角色:生產(chǎn)者、消費者、消息處理中心

  • 異步處理模式:生產(chǎn)者 將消息發(fā)送到一條 虛擬的通道(消息隊列)上,而無須等待響應(yīng)。消費者訂閱 或是 監(jiān)聽 該通道,取出消息。兩者互不干擾,甚至都不需要同時在線,也就是我們說的 松耦合

  • 可靠性:消息要可以保證不丟失、不重復(fù)消費、有時可能還需要順序性的保證

撇開我們常用的消息中間件不說,你覺得 Redis 的哪些數(shù)據(jù)類型可以滿足 MQ 的常規(guī)需求~~

二、Redis 實現(xiàn)消息隊列

思來想去,只有 List 和 Streams 兩種數(shù)據(jù)類型,可以實現(xiàn)消息隊列的這些需求,當(dāng)然,Redis 還提供了發(fā)布、訂閱(pub/sub) 模式。

我們逐一看下這 3 種方式的使用和場景。

2.1 List 實現(xiàn)消息隊列

Redis 列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)。

所以常用來做異步隊列使用。將需要延后處理的任務(wù)結(jié)構(gòu)體序列化成字符串塞進 Redis 的列表,另一個線程從這個列表中輪詢數(shù)據(jù)進行處理。

Redis 提供了好幾對 List 指令,先大概看下這些命令,混個眼熟

List 常用命令

命令用法描述
LPUSHLPUSH key value [value ...]將一個或多個值 value 插入到列表 key 的表頭如果有多個 value 值,那么各個 value 值按從左到右的順序依次插入到表頭
RPUSHRPUSH key value [value ...]將一個或多個值 value 插入到列表 key 的表尾(最右邊)
LPOPLPOP key移除并返回列表 key 的頭元素。
BLPOPBLPOP key [key ...] timeout移出并獲取列表的第一個元素, 如果列表沒有元素會阻塞列表直到等待超時或發(fā)現(xiàn)可彈出元素為止
RPOPRPOP key移除并返回列表 key 的尾元素。
BRPOPBRPOP key [key ...] timeout移出并獲取列表的最后一個元素, 如果列表沒有元素會阻塞列表直到等待超時或發(fā)現(xiàn)可彈出元素為止。
BRPOPLPUSHBRPOPLPUSH source destination timeout從列表中彈出一個值,將彈出的元素插入到另外一個列表中并返回它;如果列表沒有元素會阻塞列表直到等待超時或發(fā)現(xiàn)可彈出元素為止。
RPOPLPUSHRPOPLPUSH source destinationb命令 RPOPLPUSH 在一個原子時間內(nèi),執(zhí)行以下兩個動作:將列表 source 中的最后一個元素(尾元素)彈出,并返回給客戶端。將 source 彈出的元素插入到列表 destination ,作為 destination 列表的的頭元素
LLENLLEN key返回列表 key 的長度。如果 key 不存在,則 key 被解釋為一個空列表,返回 0 .如果 key 不是列表類型,返回一個錯誤
LRANGELRANGE key start stop返回列表 key 中指定區(qū)間內(nèi)的元素,區(qū)間以偏移量 start 和 stop 指定

挑幾個彈入、彈出的命令就可以組合出很多姿勢

  • LPUSH、RPOP ?左進右出

  • RPUSH、LPOP ?右進左出

127.0.0.1:6379>?lpush?mylist?a?a?b?c?d?e (integer)?6 127.0.0.1:6379>?rpop?mylist "a" 127.0.0.1:6379>?rpop?mylist "a" 127.0.0.1:6379>?rpop?mylist "b" 127.0.0.1:6379>? redis-RPOP

即時消費問題

通過 LPUSH,RPOP 這樣的方式,會存在一個性能風(fēng)險點,就是消費者如果想要及時的處理數(shù)據(jù),就要在程序中寫個類似 while(true) 這樣的邏輯,不停的去調(diào)用 RPOP 或 LPOP 命令,這就會給消費者程序帶來些不必要的性能損失。

所以,Redis 還提供了 BLPOP、BRPOP 這種阻塞式讀取的命令(帶 B-Bloking的都是阻塞式),客戶端在沒有讀到隊列數(shù)據(jù)時,自動阻塞,直到有新的數(shù)據(jù)寫入隊列,再開始讀取新數(shù)據(jù)。這種方式就節(jié)省了不必要的 CPU 開銷。

  • LPUSH、BRPOP ?左進右阻塞出

  • RPUSH、BLPOP ?右進左阻塞出

127.0.0.1:6379>?lpush?yourlist?a?b?c?d (integer)?4 127.0.0.1:6379>?blpop?yourlist?10 1)?"yourlist" 2)?"d" 127.0.0.1:6379>?blpop?yourlist?10 1)?"yourlist" 2)?"c" 127.0.0.1:6379>?blpop?yourlist?10 1)?"yourlist" 2)?"b" 127.0.0.1:6379>?blpop?yourlist?10 1)?"yourlist" 2)?"a" 127.0.0.1:6379>?blpop?yourlist?10 (nil) (10.02s)

如果將超時時間設(shè)置為 0 時,即可無限等待,直到彈出消息

因為 Redis 單線程的特點,所以在消費數(shù)據(jù)時,同一個消息會不會同時被多個 consumer 消費掉,但是需要我們考慮消費不成功的情況。

可靠隊列模式 | ack 機制

以上方式中, List 隊列中的消息一經(jīng)發(fā)送出去,便從隊列里刪除。如果由于網(wǎng)絡(luò)原因消費者沒有收到消息,或者消費者在處理這條消息的過程中崩潰了,就再也無法還原出這條消息。究其原因,就是缺少消息確認機制。

為了保證消息的可靠性,消息隊列都會有完善的消息確認機制(Acknowledge),即消費者向隊列報告消息已收到或已處理的機制。

Redis List 怎么搞一搞呢?

再看上邊的表格中,有兩個命令, ?RPOPLPUSH、BRPOPLPUSH (阻塞)從一個 list 中獲取消息的同時把這條消息復(fù)制到另一個 list 里(可以當(dāng)做備份),而且這個過程是原子的。

這樣我們就可以在業(yè)務(wù)流程安全結(jié)束后,再刪除隊列元素,實現(xiàn)消息確認機制。

127.0.0.1:6379>?rpush?myqueue?one (integer)?1 127.0.0.1:6379>?rpush?myqueue?two (integer)?2 127.0.0.1:6379>?rpush?myqueue?three (integer)?3 127.0.0.1:6379>?rpoplpush?myqueue?queuebak "three" 127.0.0.1:6379>?lrange?myqueue?0?-1 1)?"one" 2)?"two" 127.0.0.1:6379>?lrange?queuebak?0?-1 1)?"three" redis-rpoplpush

之前做過的項目中就有用到這樣的方式去處理數(shù)據(jù),數(shù)據(jù)標(biāo)識從一個 List 取出后放入另一個 List,業(yè)務(wù)操作安全執(zhí)行完成后,再去刪除 List 中的數(shù)據(jù),如果有問題的話,很好回滾。

當(dāng)然,還有更特殊的場景,可以通過 zset 來實現(xiàn)延時消息隊列,原理就是將消息加到 zset 結(jié)構(gòu)后,將要被消費的時間戳設(shè)置為對應(yīng)的 score 即可,只要業(yè)務(wù)數(shù)據(jù)不會是重復(fù)數(shù)據(jù)就 OK。

2.2 訂閱與發(fā)布實現(xiàn)消息隊列

我們都知道消息模型有兩種

  • 點對點:Point-to-Point(P2P)

  • 發(fā)布訂閱:Publish/Subscribe(Pub/Sub)

List 實現(xiàn)方式其實就是點對點的模式,下邊我們再看下 Redis 的發(fā)布訂閱模式(消息多播),這才是“根正苗紅”的 Redis MQ

redis-pub_sub

"發(fā)布/訂閱"模式同樣可以實現(xiàn)進程間的消息傳遞,其原理如下:

"發(fā)布/訂閱"模式包含兩種角色,分別是發(fā)布者和訂閱者。訂閱者可以訂閱一個或者多個頻道(channel),而發(fā)布者可以向指定的頻道(channel)發(fā)送消息,所有訂閱此頻道的訂閱者都會收到此消息。

Redis 通過 PUBLISH 、 SUBSCRIBE 等命令實現(xiàn)了訂閱與發(fā)布模式, 這個功能提供兩種信息機制, 分別是訂閱/發(fā)布到頻道和訂閱/發(fā)布到模式。

這個 頻道模式 有什么區(qū)別呢?

頻道我們可以先理解為是個 Redis 的 key 值,而模式,可以理解為是一個類似正則匹配的 Key,只是個可以匹配給定模式的頻道。這樣就不需要顯式的去訂閱多個名稱了,可以通過模式訂閱這種方式,一次性關(guān)注多個頻道。

我們啟動三個 Redis 客戶端看下效果:

redis-subscribe

先啟動兩個客戶端訂閱(subscribe) 名字叫 framework 的頻道,然后第三個客戶端往 framework 發(fā)消息,可以看到前兩個客戶端都會接收到對應(yīng)的消息:

redis-publish

我們可以看到訂閱的客戶端每次可以收到一個 3 個參數(shù)的消息,分別為:

  • 消息的種類

  • 始發(fā)頻道的名稱

  • 實際的消息

再來看下訂閱符合給定模式的頻道,這回訂閱的命令是 PSUBSCRIBE

redis-psubscribe

我們往 java.framework 這個頻道發(fā)送了一條消息,不止訂閱了該頻道的 Consumer1 和 Consumer2 可以接收到消息,訂閱了模式 java.* 的 Consumer3 和 Consumer4 也可以接收到消息。

redis-psubscribe1

Pub/Sub 常用命令:

命令用法描述
PSUBSCRIBEPSUBSCRIBE pattern [pattern ...]訂閱一個或多個符合給定模式的頻道
PUBSUBPUBSUB subcommand [argument [argument ...]]查看訂閱與發(fā)布系統(tǒng)狀態(tài)
PUBLISHPUBLISH channel message將信息發(fā)送到指定的頻道
PUNSUBSCRIBEPUNSUBSCRIBE [pattern [pattern ...]]退訂所有給定模式的頻道
SUBSCRIBESUBSCRIBE channel [channel ...]訂閱給定的一個或多個頻道的信息
UNSUBSCRIBEUNSUBSCRIBE [channel [channel ...]]指退訂給定的頻道

2.3 Streams 實現(xiàn)消息隊列

Redis 發(fā)布訂閱 (pub/sub) 有個缺點就是消息無法持久化,如果出現(xiàn)網(wǎng)絡(luò)斷開、Redis 宕機等,消息就會被丟棄。而且也沒有 Ack 機制來保證數(shù)據(jù)的可靠性,假設(shè)一個消費者都沒有,那消息就直接被丟棄了。

后來 Redis 的父親 Antirez,又單獨開啟了一個叫 Disque 的項目來完善這些問題,但是沒有做起來,github 的更新也定格在了 5 年前,所以我們就不討論了。

Redis 5.0 版本新增了一個更強大的數(shù)據(jù)結(jié)構(gòu)——Stream。它提供了消息的持久化和主備復(fù)制功能,可以讓任何客戶端訪問任何時刻的數(shù)據(jù),并且能記住每一個客戶端的訪問位置,還能保證消息不丟失。

它就像是個僅追加內(nèi)容的消息鏈表,把所有加入的消息都串起來,每個消息都有一個唯一的 ID 和對應(yīng)的內(nèi)容。而且消息是持久化的。

redis-stream

每個 Stream 都有唯一的名稱,它就是 Redis 的 key,在我們首次使用 xadd 指令追加消息時自動創(chuàng)建。

Streams 是 Redis 專門為消息隊列設(shè)計的數(shù)據(jù)類型,所以提供了豐富的消息隊列操作命令。

Stream 常用命令

描述用法
添加消息到末尾,保證有序,可以自動生成唯一IDXADD key ID field value [field value ...]
對流進行修剪,限制長度XTRIM key MAXLEN [~] count
刪除消息XDEL key ID [ID ...]
獲取流包含的元素數(shù)量,即消息長度XLEN key
獲取消息列表,會自動過濾已經(jīng)刪除的消息XRANGE key start end [COUNT count]
以阻塞或非阻塞方式獲取消息列表XREAD [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] id [id ...]
創(chuàng)建消費者組XGROUP [CREATE key groupname id-or-] [DESTROY key groupname] [DELCONSUMER key groupname consumername]
讀取消費者組中的消息XREADGROUP GROUP group consumer [COUNT count] [BLOCK milliseconds] [NOACK] STREAMS key [key ...] ID [ID ...]
將消息標(biāo)記為"已處理"XACK key group ID [ID ...]
為消費者組設(shè)置新的最后遞送消息IDXGROUP SETID [CREATE key groupname id-or-] [DESTROY key groupname]
刪除消費者XGROUP DELCONSUMER [CREATE key groupname id-or-] [DESTROY key groupname]
刪除消費者組XGROUP DESTROY [CREATE key groupname id-or-] [DESTROY key groupname] [DEL
顯示待處理消息的相關(guān)信息XPENDING key group [start end count] [consumer]
查看流和消費者組的相關(guān)信息XINFO [CONSUMERS key groupname] [GROUPS key] [STREAM key] [HELP]
打印流信息XINFO STREAM [CONSUMERS key groupname] [GROUPS key] [STREAM key] [HELP]

CRUD 工程師上線

增刪改查來一波
#?*?號表示服務(wù)器自動生成?ID,后面順序跟著一堆?key/value 127.0.0.1:6379>?xadd?mystream?*?f1?v1?f2?v2?f3?v3 "1609404470049-0"??##?生成的消息?ID,有兩部分組成,毫秒時間戳-該毫秒內(nèi)產(chǎn)生的第1條消息#?消息ID?必須要比上個?ID?大 127.0.0.1:6379>?xadd?mystream?123?f4?v4?? (error)?ERR?The?ID?specified?in?XADD?is?equal?or?smaller?than?the?target?stream?top?item#?自定義ID 127.0.0.1:6379>?xadd?mystream?1609404470049-1?f4?v4 "1609404470049-1"#?-表示最小值?,?+?表示最大值,也可以指定最大消息ID,或最小消息ID,配合?-、+?使用 127.0.0.1:6379>?xrange?mystream?-?+ 1)?1)?"1609404470049-0"2)?1)?"f1"2)?"v1"3)?"f2"4)?"v2"5)?"f3"6)?"v3" 2)?1)?"1609404470049-1"2)?1)?"f4"2)?"v4"127.0.0.1:6379>?xdel?mystream?1609404470049-1 (integer)?1 127.0.0.1:6379>?xlen?mystream (integer)?1 #?刪除整個?stream 127.0.0.1:6379>?del?mystream (integer)?1
獨立消費

xread 以阻塞或非阻塞方式獲取消息列表,指定 BLOCK 選項即表示阻塞,超時時間 0 毫秒(意味著永不超時)

#?從ID是0-0的開始讀前2條 127.0.0.1:6379>?xread?count?2?streams?mystream?0 1)?1)?"mystream"2)?1)?1)?"1609405178536-0"2)?1)?"f5"2)?"v5"2)?1)?"1609405198676-0"2)?1)?"f1"2)?"v1"3)?"f2"4)?"v2"#?阻塞的從尾部讀取流,開啟新的客戶端xadd后發(fā)現(xiàn)這里就讀到了,block?0?表示永久阻塞 127.0.0.1:6379>?xread?block?0?streams?mystream?$ 1)?1)?"mystream"2)?1)?1)?"1609408791503-0"2)?1)?"f6"2)?"v6" (42.37s)

可以看到,我并沒有給流 mystream 傳入一個常規(guī)的 ID,而是傳入了一個特殊的 ID $這個特殊的 ID 意思是 XREAD 應(yīng)該使用流 mystream 已經(jīng)存儲的最大 ID 作為最后一個 ID。以便我們僅接收從我們開始監(jiān)聽時間以后的新消息。這在某種程度上相似于 Unix 命令tail -f。

當(dāng)然,也可以指定任意有效的 ID。

而且, XREAD 的阻塞形式還可以同時監(jiān)聽多個 Strema,只需要指定多個鍵名即可。

127.0.0.1:6379>?xread?block?0?streams?mystream?yourstream?$?$
創(chuàng)建消費者組

xread 雖然可以扇形分發(fā)到 N 個客戶端,然而,在某些問題中,我們想要做的不是向許多客戶端提供相同的消息流,而是從同一流向許多客戶端提供不同的消息子集。比如下圖這樣,三個消費者按輪訓(xùn)的方式去消費一個 Stream。

redis-stream-cg

Redis Stream 借鑒了很多 Kafka 的設(shè)計。

  • Consumer Group:有了消費組的概念,每個消費組狀態(tài)獨立,互不影響,一個消費組可以有多個消費者

  • last_delivered_id :每個消費組會有個游標(biāo) last_delivered_id 在數(shù)組之上往前移動,表示當(dāng)前消費組已經(jīng)消費到哪條消息了

  • pending_ids :消費者的狀態(tài)變量,作用是維護消費者的未確認的 id。pending_ids 記錄了當(dāng)前已經(jīng)被客戶端讀取的消息,但是還沒有 ack。如果客戶端沒有 ack,這個變量里面的消息 ID 會越來越多,一旦某個消息被 ack,它就開始減少。這個 pending_ids 變量在 Redis 官方被稱之為 PEL,也就是 Pending Entries List,這是一個很核心的數(shù)據(jù)結(jié)構(gòu),它用來確保客戶端至少消費了消息一次,而不會在網(wǎng)絡(luò)傳輸?shù)闹型緛G失了沒處理。

redis-group-strucure

Stream 不像 Kafak 那樣有分區(qū)的概念,如果想實現(xiàn)類似分區(qū)的功能,就要在客戶端使用一定的策略將消息寫到不同的 Stream。

  • xgroup create:創(chuàng)建消費者組

  • xgreadgroup:讀取消費組中的消息

  • xack:ack 掉指定消息

#?創(chuàng)建消費者組的時候必須指定?ID,?ID?為?0?表示從頭開始消費,為?$?表示只消費新的消息,也可以自己指定 127.0.0.1:6379>?xgroup?create?mystream?mygroup?$ OK#?查看流和消費者組的相關(guān)信息,可以查看流、也可以單獨查看流下的某個組的信息 127.0.0.1:6379>?xinfo?stream?mystream1)?"length"2)?(integer)?4??#?共?4?個消息3)?"radix-tree-keys"4)?(integer)?15)?"radix-tree-nodes"6)?(integer)?27)?"last-generated-id"8)?"1609408943089-0"9)?"groups" 10)?(integer)?1??#?一個消費組 11)?"first-entry"?#?第一個消息 12)?1)?"1609405178536-0"2)?1)?"f5"2)?"v5" 13)?"last-entry"??#?最后一個消息 14)?1)?"1609408943089-0"2)?1)?"f6"2)?"v6" 127.0.0.1:6379>?
按消費組消費

Stream 提供了 xreadgroup 指令可以進行消費組的組內(nèi)消費,需要提供消費組名稱、消費者名稱和起始消息 ID。它同 xread 一樣,也可以阻塞等待新消息。讀到新消息后,對應(yīng)的消息 ID 就會進入消費者的 PEL(正在處理的消息) 結(jié)構(gòu)里,客戶端處理完畢后使用 xack 指令通知服務(wù)器,本條消息已經(jīng)處理完畢,該消息 ID 就會從 PEL 中移除。

#??消費組?mygroup1?中的?消費者?c1?從?mystream?中?消費組數(shù)據(jù) #?>?號表示從當(dāng)前消費組的?last_delivered_id?后面開始讀 #?每當(dāng)消費者讀取一條消息,last_delivered_id?變量就會前進 127.0.0.1:6379>?xreadgroup?group?mygroup1?c1?count?1?streams?mystream?> 1)?1)?"mystream"2)?1)?1)?"1609727806627-0"2)?1)?"f1"2)?"v1"3)?"f2"4)?"v2"5)?"f3"6)?"v3" 127.0.0.1:6379>?xreadgroup?group?mygroup1?c1?count?1?streams?mystream?> 1)?1)?"mystream"2)?1)?1)?"1609727818650-0"2)?1)?"f4"2)?"v4" #?已經(jīng)沒有消息可讀了???????????? 127.0.0.1:6379>?xreadgroup?group?mygroup1?c1?count?2?streams?mystream?> (nil)#?還可以阻塞式的消費 127.0.0.1:6379>?xreadgroup?group?mygroup1?c2?block?0?streams?mystream?> μ1)?1)?"mystream"2)?1)?1)?"1609728270632-0"2)?1)?"f5"2)?"v5" (89.36s)#?觀察消費組信息 127.0.0.1:6379>?xinfo?groups?mystream 1)?1)?"name"2)?"mygroup1"3)?"consumers"4)?(integer)?2??#?2個消費者5)?"pending"6)?(integer)?3???#?共?3?條正在處理的信息還沒有?ack7)?"last-delivered-id"8)?"1609728270632-0"127.0.0.1:6379>?xack?mystream?mygroup1?1609727806627-0??#?ack掉指定消息 (integer)?1

嘗鮮到此結(jié)束,就不繼續(xù)深入了。

個人感覺,就目前來說,Stream 還是不能當(dāng)做主流的 MQ 來使用的,而且使用案例也比較少,慎用。

寫在最后

  • 當(dāng)然,還有需要注意的就是,業(yè)務(wù)上避免過度復(fù)用一個 Redis。既用它做緩存、做計算,還拿它做任務(wù)隊列,這樣的話 Redis 會很累的。

  • 沒有絕對好的技術(shù)、只有對業(yè)務(wù)最友好的技術(shù),共勉

以夢為馬,越騎越傻。詩和遠方,越走越慌。不忘初心是對的,但切記要出發(fā),加油吧,程序員。

參考

  • 《Redis 設(shè)計與實現(xiàn)》

  • Redis 官網(wǎng)

  • https://segmentfault.com/a/1190000012244418

  • https://www.cnblogs.com/williamjie/p/11201654.html

往期推薦

Spring Boot集成Redis,這個坑把我害慘了!


硬核Redis總結(jié),看這篇就夠了!


Socket粘包問題終極解決方案—Netty版(2W字)!


關(guān)注我,每天陪你進步一點點!

總結(jié)

以上是生活随笔為你收集整理的Redis 消息队列的三种方案(List、Streams、Pub/Sub)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

米奇影视7777 | 国产在线资源 | 91九色视频导航 | 日韩大片在线观看 | 国产午夜在线 | 韩国av免费在线观看 | 国产麻豆精品一区 | 一区中文字幕 | 国内精品久久久久影院一蜜桃 | 国产女人40精品一区毛片视频 | 在线播放 一区 | 色爱成人网 | 日韩精品免费一区 | 国产精品久久久久9999吃药 | 人人操日日干 | 高清av免费观看 | 国产黑丝袜在线 | 国产成人一区二区三区久久精品 | 婷婷六月在线 | 天天操狠狠操夜夜操 | 日韩在线观看你懂的 | 欧美精品第一 | 欧美一级专区免费大片 | 999久久久免费视频 午夜国产在线观看 | 欧美日韩免费观看一区二区三区 | 免费网站黄 | 国产手机视频在线播放 | 国产剧情一区二区在线观看 | 亚洲免费精彩视频 | 国产在线自 | 日韩电影在线一区二区 | 久久精品一区八戒影视 | 久久99精品久久久久久清纯直播 | 一二三区高清 | 婷婷国产在线观看 | 国产精品黄色av | 国产日韩欧美在线观看 | 免费观看成人网 | 免费看精品久久片 | 永久免费在线 | 激情五月婷婷综合网 | 一区国产精品 | 亚洲精品啊啊啊 | 久久99久久99精品免观看粉嫩 | 天天躁日日躁狠狠躁 | 91亚·色| 人人狠狠综合久久亚洲 | 久久欧美综合 | www.黄色片网站 | 一个色综合网站 | 久久夜色电影 | 久久a视频| 在线高清av | 精品在线观看一区二区三区 | 又污又黄的网站 | 国产精品免费视频网站 | 国产日韩亚洲 | 国产在线视频在线观看 | av中文天堂 | 国产一区二区不卡在线 | 97天堂 | 久久久久久久久久久影视 | 99久久99久久精品免费 | 国产精品久久久久久久久久直播 | 久久久久女人精品毛片九一 | 国产成人精品一区二区三区在线 | 热九九精品 | 亚洲第一中文网 | 国产一区免费观看 | 精品九九九九 | 91高清完整版在线观看 | 开心激情网五月天 | 久久电影中文字幕视频 | 色婷婷综合久久久久中文字幕1 | 久久久久免费精品国产 | 精品国产自 | 国产激情小视频在线观看 | 中文字幕在线观看av | 在线观看视频97 | 在线视频婷婷 | 麻豆久久 | 久久综合婷婷 | 狠狠久久 | 丁香激情网 | www.在线观看视频 | 四虎免费在线观看视频 | 国产精品激情偷乱一区二区∴ | 肉色欧美久久久久久久免费看 | 久久精品一区二区三 | 成人动漫精品一区二区 | 精久久久久 | 夜夜操综合网 | 99国产精品视频免费观看一公开 | 中文字幕在线日 | 在线亚洲午夜片av大片 | 国产99免费 | www久久九 | 成人免费看黄 | 国产婷婷精品av在线 | 色在线最新 | 99久久99久国产黄毛片 | 日韩免费b | 国产成人av网站 | 亚洲欧洲av在线 | 久久毛片高清国产 | 欧美日韩一区二区久久 | 亚洲永久精品在线观看 | 色妞色视频一区二区三区四区 | 黄色国产区| 激情电影影院 | 久久久久久久久久国产精品 | 国产精品久久网站 | 一级a性色生活片久久毛片波多野 | 国产精品久久久久9999吃药 | 五月天精品视频 | 国产日韩在线看 | 天天艹天天 | 国产中年夫妇高潮精品视频 | 国产午夜精品av一区二区 | 中文在线www | 五月天丁香亚洲 | 日本免费一二三区 | www.色就是色 | 日日干日日色 | av不卡网站 | 欧美精品久久久久久久久老牛影院 | 国产一区视频在线 | 激情婷婷 | 精品亚洲va在线va天堂资源站 | 国产精品久久久久久久久毛片 | 色黄久久久久久 | 日韩欧美久久 | 99精品偷拍视频一区二区三区 | 日韩网站在线看片你懂的 | 国产91精品一区二区 | 日本精a在线观看 | 日韩欧美网站 | 精品欧美小视频在线观看 | 国产视频在线观看一区 | 天天干,天天射,天天操,天天摸 | 久久草草热国产精品直播 | 国产流白浆高潮在线观看 | 色资源网免费观看视频 | 成人一区二区三区在线观看 | 午夜精品久久久久久久久久久久 | 天天射成人 | 精品国产一区二区三区男人吃奶 | 国产九九九九九 | 欧美激情另类文学 | 久久99视频免费观看 | 免费h漫在线观看 | 国内精品久久久久影院一蜜桃 | 免费黄色av电影 | 五月婷婷精品 | 久草视频在线播放 | www视频在线播放 | 免费www视频 | 久久免费视频国产 | av观看久久久 | 日韩精品一区二区三区视频播放 | 中文字幕中文字幕在线中文字幕三区 | 色全色在线资源网 | 国产精品一区二区在线观看免费 | 91香蕉久久 | 麻豆视频免费观看 | 久精品视频在线 | 伊人va | 日韩精品一卡 | 久草在线视频在线 | 久久久久久久久免费 | 精品久久网 | www.亚洲视频.com | 国产亚洲人成网站在线观看 | 精品夜夜嗨av一区二区三区 | 午夜丁香视频在线观看 | 毛片一级免费一级 | 亚洲乱码中文字幕综合 | 97日日| 麻豆av一区二区三区在线观看 | av东方在线| 中文字幕在线观看完整版电影 | 日韩精品一区二区三区高清免费 | 欧美性生交大片免网 | 中文字幕在线免费观看视频 | 午夜美女视频 | 免费看色的网站 | 日日色综合 | 国产精品久久久久久一区二区 | 天天爽夜夜爽人人爽曰av | 中文字幕一区二区三区精华液 | 欧美最爽乱淫视频播放 | 亚洲国产三级在线 | 久久精选 | 日本在线视频一区二区三区 | 五月天高清欧美mv | 99免费在线视频观看 | 91网站在线视频 | 久久久久久久久久久久影院 | 免费在线观看av网站 | 99国产在线观看 | 欧美久草网| 国产精品美女久久久久aⅴ 干干夜夜 | 久久精品综合一区 | 在线精品视频免费观看 | 亚洲最大的av网站 | 粉嫩av一区二区三区免费 | 亚洲日本va午夜在线影院 | 国产天天爽 | 97韩国电影| 99久久激情 | 99色网站| 人人爽人人看 | 麻豆视频在线看 | 在线观看91精品视频 | 97日日| 亚洲激情综合网 | 欧美日韩国产一二三区 | 久久精品影片 | 看片的网址 | 欧美91成人网 | 免费色视频网站 | 国产中文字幕在线 | 麻豆91网站| 九九天堂 | 日韩一级成人av | 国产日韩精品欧美 | 五月婷婷中文字幕 | 天天爽夜夜爽精品视频婷婷 | 久久久午夜精品理论片中文字幕 | 中文字幕国内精品 | 欧美一进一出抽搐大尺度视频 | 四虎成人精品永久免费av | 精品久久福利 | 天天干天天做 | av看片网址 | 在线亚洲观看 | 亚洲欧美综合精品久久成人 | 久久国产日韩 | 99精品视频免费全部在线 | 国产视频中文字幕 | 国产精品久久久区三区天天噜 | 国产精品一区二区三区免费视频 | 成人黄色在线播放 | 中文字幕视频一区二区 | 天天色天天综合 | 成人久久久电影 | av在观看| 91精品国产自产在线观看永久 | 欧美,日韩| 日韩在线视频观看免费 | 国产精品免费不 | 日韩精品免费在线观看视频 | 黄色网址在线播放 | 国产精品久久久久久久99 | 国产麻豆精品在线观看 | 免费观看91视频大全 | 曰本三级在线 | 97精品视频在线播放 | 久久久久久久久国产 | 免费av 在线| 美女视频黄的免费的 | 免费在线观看av网址 | 九九综合久久 | 成年人电影免费看 | 麻豆视频免费入口 | 激情久久伊人 | 免费看的黄色片 | 免费观看成年人视频 | 国产精品一区久久久久 | 国产精品久久一卡二卡 | 亚洲成人黄色 | 国产在线精品视频 | 日韩激情视频在线观看 | 久久只精品99品免费久23小说 | 一区二区精品在线 | 九九九热精品免费视频观看 | 在线免费高清视频 | 四虎视频 | www.99久久.com | 国产毛片在线 | www色综合 | 中文字幕在线观看一区 | 91黄色小网站| 久久久免费视频播放 | 亚洲天天看 | 国产精品大片免费观看 | 国产精品成人一区二区三区吃奶 | 午夜国产福利在线 | 91成年人在线观看 | 狠狠色噜噜狠狠狠狠 | 日日摸日日 | av综合av| 成人黄色视 | 五月天激情电影 | 成人小电影在线看 | 久久久久在线视频 | 婷婷婷国产在线视频 | 久久99久久99久久 | 天天躁日日躁狠狠躁av中文 | 中文字幕在线播出 | 欧美成年黄网站色视频 | 人人天天夜夜 | 国内精品久久久久久久久久久久 | bbbbb女女女女女bbbbb国产 | 免费热情视频 | 国内精品久久久久久久久久 | 五月婷婷久久丁香 | 最近中文字幕久久 | 欧美日韩中文字幕视频 | 欧美日韩不卡一区二区三区 | 亚洲免费在线看 | 在线中文字幕网站 | 亚洲狠狠 | 黄色免费大全 | 亚洲精品资源在线 | 中文字幕韩在线第一页 | 99久久精品国产一区二区三区 | 亚洲欧美日韩一区二区三区在线观看 | 色综合天天综合在线视频 | 色综合久久88 | www天天干| a成人v | 在线观看va | 国产精品99久久久久人中文网介绍 | 91精品办公室少妇高潮对白 | 91亚洲精品国偷拍 | 久久久网站 | 黄视频网站大全 | 中文字幕在线观看三区 | 日韩中文字幕国产 | 久久久免费少妇 | 久久久国产影院 | 午夜av日韩 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 中文国产字幕 | 久久成年视频 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产精品麻豆免费版 | 亚州天堂| 亚洲精品视频在 | 在线国产精品一区 | 色婷婷影视 | 黄色www | 青青看片 | 日韩在线国产 | 日韩免费视频在线观看 | 国产精品专区h在线观看 | 国产精品国产三级国产aⅴ入口 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产尤物在线 | 在线观看日韩一区 | 在线观看黄av | 日韩欧美电影在线 | av 一区二区三区四区 | 91视频亚洲 | 99久久99久久精品国产片果冰 | 天天操天天爱天天干 | 精品av网站 | 黄色www免费 | 六月天综合网 | 亚洲国产操 | 日日夜夜天天 | 91丝袜美腿| 欧美日韩中文另类 | avsex| 亚州精品天堂中文字幕 | 国产色影院 | 成人av免费网站 | 中文字幕av免费在线观看 | 激情开心 | 精品一区二区视频 | 在线国产欧美 | 亚洲国产午夜 | 91av在线免费看 | 伊人色综合网 | 精品久久99 | 日韩精品播放 | 五月天av在线 | 中文字幕成人在线观看 | 日韩视频在线观看视频 | 日本中文一区二区 | 中文字幕国产精品一区二区 | av中文在线观看 | 国产精品成人免费精品自在线观看 | 九九日韩 | 911久久| 99久久精品国产欧美主题曲 | 人人干人人草 | 91精品1区| 综合网天天| 国产精品久久久久一区二区三区 | 国产在线观看一区 | 亚洲精品男人天堂 | 亚洲禁18久人片 | 婷婷天天色 | 99精品国产福利在线观看免费 | 69av视频在线 | 国产高清福利在线 | 欧美精品一区二区免费 | av大全在线播放 | 免费看的黄色录像 | 国产人成精品一区二区三 | 免费在线黄 | 亚洲专区路线二 | 亚洲闷骚少妇在线观看网站 | 欧美激情综合五月色丁香 | 亚洲色图 校园春色 | 色综合天天综合 | 成年人国产在线观看 | 日韩免| 成人久久影院 | 中文字幕欧美日韩va免费视频 | 99精品在线视频观看 | 特级毛片爽www免费版 | 久久99热这里只有精品 | 国产一级黄色片免费看 | 五月天最新网址 | 成人播放器| 久久精品久久精品久久精品 | 精品 激情 | 日韩免费小视频 | 91精品资源 | 美女免费视频观看网站 | 91爱爱电影 | 日本在线视频一区二区三区 | 狂野欧美激情性xxxx | 国产精品一区二区在线播放 | 久久五月情影视 | 亚洲精品白浆高清久久久久久 | 国产成人精品综合久久久久99 | 蜜桃av人人夜夜澡人人爽 | 最近中文字幕视频完整版 | 亚洲夜夜综合 | 波多野结衣精品视频 | 亚洲一区久久久 | 91午夜精品 | 婷婷免费在线视频 | 欧美一区二视频在线免费观看 | 一区二区三区动漫 | 日韩欧美国产成人 | 深夜福利视频在线观看 | 69国产精品视频 | 高清av网站 | 99久免费精品视频在线观看 | 日韩视频区 | 久久九九视频 | 国产精品短视频 | 在线国产一区二区三区 | 亚洲小视频在线观看 | 久久天堂亚洲 | 国产精品欧美久久久久天天影视 | 91精品在线视频观看 | 婷婷夜夜 | 成年人黄色免费视频 | av免费在线看网站 | 国产区精品区 | 色婷婷亚洲婷婷 | 久久久亚洲影院 | 婷婷网站天天婷婷网站 | 97超级碰| 久久精品国产免费看久久精品 | 色香com. | 欧美老女人xx | 99色 | 国产剧情一区二区 | 婷婷五月色综合 | 在线观看亚洲电影 | 人人艹人人 | 在线a人v观看视频 | 久久99亚洲热视 | 欧美一区二区三区免费看 | 99久久99| 国产精品成人一区二区 | 欧美精品在线观看一区 | 亚洲人片在线观看 | 国产亚洲精品久久久久久网站 | 日韩欧美综合视频 | 日本中文字幕观看 | 久久兔费看a级 | 国产在线a免费观看 | 黄色影院在线免费观看 | 欧美一区二区三区激情视频 | 91精品在线免费观看视频 | 久久精品视频在线 | 成人av片在线观看 | 国产婷婷 | 久久福利在线 | 亚洲国产精品影院 | 又黄又色又爽 | 欧美日韩免费一区二区三区 | 亚洲成av人片一区二区梦乃 | 天天干婷婷 | 九九热精品在线 | 又色又爽又黄 | www色网站| 久久高清免费视频 | 中文字幕丝袜一区二区 | 日韩69av| 黄色一级大片在线免费看国产一 | 久久这里只有精品久久 | 蜜臀久久99精品久久久酒店新书 | 亚洲国产精品500在线观看 | 久久久久www| 激情五月五月婷婷 | 久久久久久中文字幕 | 日韩天堂在线观看 | 96亚洲精品久久 | 91porny九色在线播放 | 91网站观看| 欧美一级日韩三级 | 久久成人资源 | 国产精品18videosex性欧美 | 激情久久一区二区三区 | 日本久久电影 | 99精品免费久久久久久久久 | 色就色,综合激情 | 在线观看亚洲专区 | 91试看| 欧美乱大交| 欧美99精品 | 天天插天天射 | 国产在线观看91 | 色婷婷狠狠干 | 国产区欧美 | 中文字幕av在线不卡 | 欧美性生活大片 | 一区二区三区在线观看免费视频 | 最近日韩免费视频 | 一区中文字幕在线观看 | 久久精品小视频 | 国产欧美高清 | 超碰97人人爱 | 久草在线免 | 久久视频在线观看免费 | 日韩黄色免费 | 国产精品免费视频久久久 | 99久久精品午夜一区二区小说 | 五月情婷婷 | 国产欧美在线一区二区三区 | 免费一级特黄毛大片 | 午夜精品麻豆 | 中文字幕综合在线 | 久久精品一二三区 | 中文字幕网站视频在线 | 国产又粗又猛又色又黄网站 | 精品一区精品二区高清 | 狠狠地日 | 久久婷婷精品视频 | 国产高清久久久 | 91看片淫黄大片在线播放 | 高清免费av在线 | 成年人免费在线看 | 亚州视频在线 | 成人国产综合 | 日韩av在线网站 | 天天操天天插 | 日韩精品在线观看av | 粉嫩av一区二区三区免费 | 日日噜噜噜噜夜夜爽亚洲精品 | 久久超碰97 | 99精品视频在线观看播放 | 伊人久久婷婷 | 91精品在线麻豆 | 午夜精品久久久久久久久久 | 97在线视| 久草在线播放视频 | 免费看片在线观看 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 日本久久久久 | 婷婷丁香色综合狠狠色 | 国产精品第一页在线观看 | 中字幕视频在线永久在线观看免费 | 国产精品欧美久久久久天天影视 | 国产视频在线一区二区 | 激情综合色播五月 | 久久成熟 | 久草在线视频精品 | 91传媒视频在线观看 | 国产理论在线 | 亚洲国产中文字幕 | 免费av网站观看 | 国产一区免费看 | 亚洲精品国产品国语在线 | 天天综合久久 | 亚洲观看黄色网 | 天天做日日做天天爽视频免费 | 国产二区视频在线观看 | 久久久精品综合 | 国产精品久久久久久久午夜片 | 婷婷丁香色综合狠狠色 | 亚洲国产日韩精品 | 久久久www成人免费精品 | 最新中文在线视频 | 色多多污污在线观看 | 国产精品福利av | 热久久影视 | 免费在线成人av | 亚洲特级片 | 国产一区二区观看 | 一区三区在线欧 | 久久久久在线观看 | 国产中文字幕一区二区 | 日韩精品中文字幕在线观看 | 狠狠色丁婷婷日日 | 国产精品福利无圣光在线一区 | 人人藻人人澡人人爽 | 亚洲有 在线 | 免费男女羞羞的视频网站中文字幕 | 国产黄a三级三级三级三级三级 | 国产中出在线观看 | 亚洲免费永久精品国产 | 免费观看十分钟 | 久久精品老司机 | 中文久久精品 | 日韩在线视频线视频免费网站 | 国产日韩在线观看一区 | 成人免费在线播放视频 | 深爱开心激情 | 久久久久五月 | 久久99久久99精品免费看小说 | 国产精品一区二区av麻豆 | 国产一区欧美二区 | 久久免费公开视频 | 天天拍夜夜拍 | 在线观看色网站 | 久草在线视频新 | 6080yy精品一区二区三区 | 三级黄色欧美 | 国产精品一区二区三区久久 | 精品一区二区三区在线播放 | 国产中文字幕网 | 91香蕉视频黄 | 中文字幕在线视频精品 | 日韩视频免费在线观看 | 午夜色大片在线观看 | 国产午夜精品一区二区三区嫩草 | 国产 日韩 在线 亚洲 字幕 中文 | 九九热1 | 8x成人免费视频 | 奇米影视777四色米奇影院 | 亚洲欧美视频在线观看 | 亚洲精品乱码久久久久久写真 | 亚洲日本激情 | 天天天干夜夜夜操 | 成人免费观看在线视频 | www.夜夜| 500部大龄熟乱视频 欧美日本三级 | 久久在现| 亚洲精品美女在线观看 | 国产 色 | 成年人在线视频观看 | 香蕉精品视频在线观看 | 99精品视频一区 | 五月婷婷综 | 在线观看精品视频 | 91丨九色丨蝌蚪丨对白 | 夜夜夜夜夜夜操 | 99视频国产在线 | 精品在线视频观看 | 天天色天天射综合网 | 国产精品国产三级国产aⅴ无密码 | 91av美女| 久久99国产精品二区护士 | 日韩三级不卡 | 免费h视频| 97超碰伊人 | 免费看一级 | 热久久最新地址 | 国产裸体视频bbbbb | 精品一区二三区 | 91tv国产成人福利 | 日韩免费电影一区二区 | 久久久久久高潮国产精品视 | 国产又粗又猛又色又黄视频 | 在线中文字幕一区二区 | 在线超碰av| 成人av片免费看 | 欧美日韩精品在线观看视频 | 日韩精品一区在线播放 | 亚洲综合婷婷 | 国产色在线观看 | 国产网红在线观看 | 久久五月天综合 | 国产精品精品国产色婷婷 | 天天干天天操天天搞 | 天天激情天天干 | 国产日韩欧美在线观看 | 国产成人精品一区二区在线观看 | 中文av日韩 | 亚洲九九九在线观看 | 久久久久国| 天天视频亚洲 | 色在线亚洲 | 午夜色大片在线观看 | 日韩色区 | 国产无区一区二区三麻豆 | 91在线视频免费 | 成人亚洲精品国产www | 欧美孕妇与黑人孕交 | 国产一级小视频 | 网站在线观看日韩 | 色婷婷免费 | a级国产乱理论片在线观看 伊人宗合网 | 国产精品一区二区免费 | 免费国产一区二区视频 | 国内成人精品2018免费看 | 中文字幕免费不卡视频 | 亚洲日本一区二区在线 | 免费成人在线观看视频 | 国产夫妻自拍av | 国产成人精品女人久久久 | 久久国产精品免费 | 婷婷夜夜 | 97精品欧美91久久久久久 | 美女一二三区 | 国产成人精品一区二区三区网站观看 | 国内精品久久久 | 国产久视频 | 国产成人精品网站 | 久久久久一区 | 成人在线免费视频 | 久久国产电影院 | 欧亚日韩精品一区二区在线 | 亚洲在线不卡 | 夜色在线资源 | 久久精品久久99 | 日韩有码专区 | 天天天操天天天干 | 9999毛片 | 国产99久久精品一区二区300 | 开心色插 | 久久综合五月天婷婷伊人 | 久草免费新视频 | 久久久久看片 | 久久特级毛片 | 国产黄色理论片 | 99精彩视频在线观看免费 | 国产免费高清视频 | 开心激情网五月天 | 免费v片 | 天天干天天操天天入 | 国产黄色片在线免费观看 | 国产九色91 | 又黄又刺激视频 | 欧美一区二区三区不卡 | 97夜夜澡人人双人人人喊 | 中文字幕韩在线第一页 | 97理论片 | av官网在线 | 91禁看片| 九月婷婷综合网 | 日韩av电影中文字幕在线观看 | 免费在线观看成人小视频 | 久久精品精品电影网 | 黄色成人影院 | 日韩在线观看第一页 | 久久免费看毛片 | 伊人婷婷激情 | a级片在线播放 | 有码中文字幕 | 日韩资源在线播放 | 亚洲综合在线一区二区三区 | 国产精品麻豆一区二区三区 | 日韩av中文 | 成人蜜桃网 | 91看片成人 | 欧美一级在线看 | 亚洲精选国产 | 中文字幕亚洲综合久久五月天色无吗'' | 精品国产大片 | 国产精品久久久久久久免费大片 | 香蕉免费在线 | 亚洲精品乱码久久久一二三 | 久久艹人人| 在线观看黄色免费视频 | 91亚洲精品久久久中文字幕 | 亚洲国产精品女人久久久 | 久久成人一区二区 | 美女视频a美女大全免费下载蜜臀 | 在线中文字母电影观看 | 国产婷婷vvvv激情久 | 黄色国产高清 | 成人在线黄色 | 久久久午夜精品福利内容 | 免费亚洲精品视频 | 日韩免费在线网站 | 久久无码精品一区二区三区 | 中文字幕在线观看三区 | 国产视频在线一区二区 | 中文字幕免费在线看 | 人人精久 | 国产亚洲视频在线 | 国产精品麻豆99久久久久久 | av在线免费观看黄 | 天天操综合网 | 丁香5月婷婷 | 日韩精品一区二区三区免费视频观看 | 99精品在线直播 | 久久精品一区二区 | 91视频传媒 | 激情综合狠狠 | 日本久久久久久久久久 | 国产资源中文字幕 | 波多野结衣电影一区 | 99精品国产免费久久久久久下载 | 亚洲丁香日韩 | 国内视频在线 | 精品久久1 | 99日韩精品 | 亚洲另类xxxx| 亚洲精品视频一 | 久久久官网| 亚洲午夜精品一区二区三区电影院 | 中中文字幕av在线 | 免费h在线观看 | 在线视频 一区二区 | 99精品久久久久久久 | 亚洲精品影院在线观看 | 久久8精品 | 99热网站| 色婷婷骚婷婷 | 五月情婷婷 | 亚洲精品永久免费视频 | 性色xxxxhd| 最近中文字幕在线 | 久久久国产精品一区二区三区 | 亚洲精品乱码久久久久久蜜桃91 | 蜜臀aⅴ国产精品久久久国产 | 91视频-88av| 美女网站视频一区 | 99久久久久久 | 91久久精品一区二区三区 | 中文在线8新资源库 | 国产99久久久国产精品免费二区 | 人人干天天射 | 夜添久久精品亚洲国产精品 | av丝袜美腿 | 一二三四精品 | 国产一级片免费观看 | 欧美 高跟鞋交 xxxxhd | 日韩视频中文字幕 | 色播五月婷婷 | 三级动态视频在线观看 | 免费视频区 | 久久亚洲国产精品 | 日韩免费在线网站 | 激情文学综合丁香 | 国内小视频在线观看 | 天天伊人狠狠 | a级国产乱理论片在线观看 特级毛片在线观看 | 看片在线亚洲 | 在线观看免费成人av | 成年人在线免费看片 | 91视频在线观看下载 | 四虎影视成人精品国库在线观看 | 99久久久国产精品 | 久久国产香蕉视频 | 国产91在| 最新国产精品拍自在线播放 | 免费看污黄网站 | 国内精品久久久久影院优 | 一区二区精品在线视频 | 中文字幕中文中文字幕 | 欧美日韩免费一区二区 | 国产91粉嫩白浆在线观看 | 亚洲高清激情 | 婷婷色网址 | 中文字幕中文字幕在线中文字幕三区 | 中文字幕一区2区3区 | 久久高清视频免费 | 欧美极品xxxxx | 天天综合网 天天综合色 | 人人爽久久涩噜噜噜网站 | 久久av在线播放 | 国产91勾搭技师精品 | 日韩免费一区二区三区 | 国产69精品久久app免费版 | 国产成人三级在线播放 | 日韩精品中文字幕在线播放 | 国产一区二区三区黄 | 国产成人精品不卡 | 成人av影院在线观看 | 日韩精品欧美精品 | 国产精品正在播放 | 日韩久久久久久久 | 五月天色站 | 亚洲精品乱码久久 | 亚洲精品国产精品久久99 | 亚洲天堂网在线观看视频 | 最近最新mv字幕免费观看 | 中文字幕在线免费观看 | 六月丁香综合网 | 日本精品久久久一区二区三区 | 成人免费91 | 成年人电影免费看 | 久草爱 | 91精彩视频在线观看 | 福利久久久 | 免费看v片 | 亚洲精选在线观看 | 在线观看久久久久久 | 成人午夜毛片 | 91麻豆网 | 麻豆一区在线观看 | 国产成人三级在线播放 | 久久免费视频一区 | 国产又粗又猛又爽又黄的视频免费 | 亚洲午夜久久久综合37日本 | 亚洲影音先锋 | 播五月婷婷 | 中文字幕黄色网 | 综合网婷婷 | 美女视频网 | 人人干在线 | 国产在线观看高清视频 | 国产精品久久久久久999 | 视频国产在线观看18 | 91麻豆精品91久久久久同性 | www.com久久久 | 成人一级免费电影 | 麻豆视频一区 | 欧美激情操 | 在线亚洲天堂网 | 日本福利视频在线 | 黄色一级性片 | 国产精品美女久久久免费 | 欧美性生活大片 | 日日干日日| 最新av网址在线 | 成人永久免费 | av久久久久久 | 黄色一级免费网站 | 亚洲精品国偷拍自产在线观看 | 在线观看a视频 | 日本中文字幕在线播放 | 久久精品国产99 | 免费a视频在线观看 | 日本aaaa级毛片在线看 | 草樱av | 欧美日韩国产亚洲乱码字幕 | 久久综合九色九九 | 丁香午夜婷婷 | 久久综合国产伦精品免费 | 亚洲欧美成人综合 | 婷婷在线色| 欧美精品久久久久久久久老牛影院 | 亚洲精品在线一区二区三区 | 黄色com| 亚洲精品在线播放视频 | 91网站免费观看 | 亚洲国产成人精品久久 | 精品国产亚洲在线 | 天堂av在线网址 | 日韩午夜在线观看 | 国产精品久久久久久久久久白浆 | 伊人亚洲综合网 | 性色视频在线 | 日韩专区视频 | 国产日产欧美在线观看 | 综合黄色网 | a√天堂中文在线 | 国产福利小视频在线 | 日本天天操 | 香蕉成人在线视频 | 深夜激情影院 | 免费手机黄色网址 | 国产免费人成xvideos视频 | 久久99精品久久久久久三级 | 一区二区三区高清在线观看 | 久久久精品欧美一区二区免费 | 色综合天天视频在线观看 | 精品一区二区三区久久 | 日本护士三级少妇三级999 | 狠狠狠干狠狠 | 日韩av中文字幕在线 | 黄色小说18 | 日韩欧美一区二区在线 | 国产精品久久久久久久久久久免费 | 91在线精品播放 | 天天操夜夜爱 | 亚洲精品视频免费看 | 69精品视频 | 免费麻豆视频 | 九九综合九九综合 | 9797在线看片亚洲精品 | 久久久精品一区二区 | 国产精品mm | 亚洲精品在线观看视频 | 欧美另类亚洲 | av电影中文字幕在线观看 | 欧美男同视频网站 | 亚洲国产精品500在线观看 | 国产日韩精品一区二区三区在线 | 最近日本中文字幕a | 97超碰人 | 麻豆成人网| 日日夜夜天天射 | 在线精品视频在线观看高清 |