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

歡迎訪問 生活随笔!

生活随笔

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

数据库

Redis 6.0 的客户端缓存是怎么肥事?一文带你了解!

發(fā)布時間:2024/8/23 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis 6.0 的客户端缓存是怎么肥事?一文带你了解! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源 | 程序員歷小冰

責編 | Carol

封圖?| CSDN 付費下載于視覺中國

近日 Redis 6.0.0 GA 版本發(fā)布,這是 Redis 歷史上最大的一次版本更新,包括了客戶端緩存 (Client side caching)、ACL、Threaded I/O 和 Redis Cluster Proxy 等諸多更新。

我們今天就依次聊一下客戶端緩存的必要性、具體使用、原理分析和實現。

為什么需要客戶端緩存?

我們都知道,使用 Redis 進行數據的緩存的主要目的是減少對 MySQL 等數據庫的訪問,提供更快的訪問速度,畢竟 《Redis in Action》中提到的, Redis 的性能大致是普通關系型數據庫的 10 ~ 100 倍。

所以,如下圖所示,Redis 用來存儲熱點數據,Redis 未命中,再去訪問數據庫,這樣可以應付大多數情況下的性能要求。

但是,Redis 也有其性能上限,并且訪問 Redis 必然有一定的網絡 I/O 以及序列化反序列化損耗。所以,往往會引入進程緩存,將最熱的數據存儲在本地,進一步加快訪問速度。

如上圖所示(示意圖,細節(jié)不必過度在意,下同),Guava Cache 等進程緩存作為一級緩存,Redis 作為二級緩存:

  • 先去 Guava Cache 中查詢數據,如果命中則直接返回。

  • Guava Cache 中未命中,則再去 Redis 中查詢,如果命中則返回數據,并在 Guava Cache 中設置此數據。

  • Redis 也未命中的話,只有去 MySQL 中查詢,然后依次將數據設置到 Redis 和 Guava Cache 中。

  • 只使用 Redis 分布式緩存時,遇到數據更新時,應用程序更新完 MySQL 中的數據,可以直接將 Redis 中對應緩存失效掉,保持數據的一致性。

    而進程內緩存的數據一致性比分布式的緩存面臨更大的挑戰(zhàn)。數據更新的時候,如何通知其他進程也更新自己的緩存呢?

    如果按照分布式緩存的思路,我們可以設置極短的緩存失效時間,這樣不必實現復雜的通知機制。

    但是不同進程內的數據依然會面臨不一致的問題,并且不同進程緩存失效時間不統(tǒng)一,同一個請求到了不同的進程,可能出現反復幻讀的情況。

    Ben 在 RedisConf18 給出了一個方案(視頻和 PPT 鏈接在文末),通過 Redis 的 Pub/Sub,可以通知其他進程緩存對此緩存進行刪除。如果 Redis 掛了或者訂閱機制不靠譜,依靠超時設定,依然可以做兜底處理。

    Antirez(Redis 的作者) 也正是聽取 Ben 這個方案后,才決定在 Redis Server 支持客戶端緩存的,因為在有服務端參與的情況下可以更好的處理上述這些問題。

    功能介紹和演示

    下面使用 Docker 安裝 Redis 6.0.1,然后使用 telnet 來簡單演示一下 Redis 6.0 的客戶端緩存功能。所有相關的功能如下圖所示,分別是使用RESP3 協議版本的普通模式和廣播模式,以及使用 RESP2 協議版本的轉發(fā)模式。我們先來看普通模式。

    1、普通模式

    先使用 redis-cli 設置緩存值 test=111,使用 telnet 連接上 Redis,然后發(fā)送 hello 3 開啟 RESP3 協議。

    [root@VM_0_3_centos ~]# telnet 127.0.0.16379 Trying127.0.0.1... Connected to 127.0.0.1. Escape character is'^]'. hello 3 // telnet 輸出結果格式化標準化后如下,否則換行太多并且是 RESP3 格式,不需要了解格式。 > HELLO 3 1# "server" => "redis" 2# "version" => "6.0.1" 3# "proto" => (integer) 3 4# "id" => (integer) 10 5# "mode" => "standalone" 6# "role" => "master" 7# "modules" => (empty array)

    這里需要注意,Redis 服務端只會 track 客戶端在一個連接生命周期內的獲取的只讀命令的 key值。Redis 客戶端默認不開啟 track 模式,需要使用命令開啟,然后必須要先獲取一次 test 的值,這樣 Redis 服務器才會記錄它。

    client tracking on +OK get test $3 111

    當鍵被修改,或者因為失效時間(expire time)和內存上限 maxmemory 策略被驅除時,Redis 服務端會通知這些客戶端。我們這里簡單地更新 test 的值,telnet 則會收到如下通知

    >2// RESP3 中的 PUSH 類型,標志為 > 符號 $10 invalidate *1 $4 test

    如果你再一次更新 test 值,這次 telnet 就不會再收到失效(invalidate)消息。除非 telnet 再進行一次 get 操作,重新 tracking 對應的鍵值。

    也就是說 Redis 服務端記錄的客戶端 track 信息只生效一次,發(fā)送過失效消息后就會刪除,只有下次客戶端再次執(zhí)行只讀命令被 track,才會進行下一次消息通知

    取消 tracking 的命令如下所示。

    client tracking off +OK

    2、廣播模式

    Redis 還提供了一種廣播模式(BCAST),它是另外一種客戶端緩存的實現方式。這種方式下 Redis 服務端不再消耗過多內存存儲信息,而是發(fā)送更多的失效消息給客戶端

    這是服務端存儲過多數據,消耗內存和客戶端收到過多消息,消耗網絡帶寬之間的權衡(tradeoff)。

    // 已經 hello 3 開啟 RESP3 協議,不然無法收到失效消息,下同 client tracking on bcast +OK // 此時設置 key 為 a 的鍵值,收到如下消息。 >2 $10 invalidate *1 $1 a

    如果你不想所有的鍵值的失效消息都收到,則可以限制 key 的前綴,如下命令則表示只關注前綴為 test 的鍵值的消息。一般來說,業(yè)務的緩存 key 都是根據業(yè)務擁有統(tǒng)一的前綴,所以這一特性十分方便。

    client tracking on bcast prefix test

    與普通模式必須獲取一次鍵的規(guī)則不同,廣播模式下,只要鍵被修改或刪除,符合規(guī)則的客戶端都會收到失效消息,而且是可以多次獲取的

    與普通模式相比,雖然少存儲了一些數據,但是由于需要對前綴規(guī)則進行匹配,會消耗一定的 CPU 資源,所以注意別使用過長的前綴。

    3、轉發(fā)模式

    上述操作時客戶端都需要先開啟 RESP3,Redis 為了兼容 RESP2 協議提供了轉發(fā)(Redirect)模式,不再使用 RESP3 原生支持 PUSH 消息,而是將消息通過 Pub/Sub 通知給另外一個客戶端,具體流程如下圖所示。

    這里需要兩個 telnet,其中一個 telnet 需要訂閱 _redis_:invalidate 信道。然后另一個 telnet 開啟 Redirect 模式,并制定將失效消息通過訂閱信道發(fā)送給第一個 telnet。

    # telent B client id :368 subscribe _redis_:invalidate # telnet A,開啟 track 并指定轉發(fā)給 B client tracking on bcast redirect 368 # telent B 此時有鍵值被修改,收到 __redis__:invalidate 信道的消息 message $20 __redis__:invalidate *1 $1 a

    你會發(fā)現,轉發(fā)模式和文章開始提到的多級緩存中的更新機制很類似了,只不過那個方案中是業(yè)務系統(tǒng)修改完 key 后發(fā)送消息通知,而這里是 Redis 服務端代替業(yè)務系統(tǒng)發(fā)送消息通知。

    4、OPTIN 和 OPTOUT 選項

    使用 OPTIN 可以選擇性的開啟 tracking。只有你發(fā)送 client caching yes (Redis 文檔中是 CACHING 命令,但是實驗時發(fā)現無效)之后的下一條的只讀命令的 key 才會 tracking,否則其他的只讀命令的 key 不會被 tracking。

    client tracking on optin client caching yes get a get b // 此時修改 a 和 b 的值,發(fā)現只收到 a 的失效消息 >2 $10 invalidate *1 $1 a

    而 OPTOUT 參數與之相反,你可以有選擇的退出 tracking。發(fā)送 client caching off 之后的下一條只讀命令的 key 不會被 tracking,其他只讀命令都會被 tracking。

    OPTIN 和 OPTOUT 是針對非 BCAST 模式,也就是只有發(fā)送了某個 key 的只讀命令后,才會追蹤相應的 key。而 BCAST 模式是無論你是否發(fā)送某個 key 的只讀命令,只有 Redis 修改了 key,都會發(fā)送相應的 key 的失效消息(前綴匹配的)。

    5、NOLOOP 選項

    默認情況下,失效消息會發(fā)送給所有需要的 Redis 客戶端,但是有些情況下觸發(fā)失效消息也就是更新 key 的客戶端不需要收到該消息。

    設置 NOLOOP,可以避免這種情況,更新 Key 的客戶端將不再收到消息,該選項在普通模式和廣播模式下都適用。

    6、最大 tracking 上限 trackingtablemax_keys

    由上文可以知道,普通模式下需要存儲大量的被 tracking 的 key 和客戶端信息(具體存儲的數據下文中會講解),所以當 10k 客戶端使用該模式處理百萬個鍵時,會消耗大量的內存空間,所以 Redis 引入了 trackingtablemax_keys 配置,默認為無,不限制。

    當有一個新的鍵被 tracking 時,如果當前 tracking 的 key 的數量大于 trackingtablemax_keys,則會隨機刪除之前 tracking 的 key,并且向對應的客戶端發(fā)送失效消息。

    原理和源碼實現

    1、普通模式原理

    我們也先講解普通模式的原理,Redis 服務端使用 TrackingTable 存儲普通模式的客戶端數據,它的數據類型是基數樹(radix tree)。

    基數樹是針對稀疏的長整型數據查找的多叉搜索樹,能快速且節(jié)省空間的完映射,一般用于解決 Hash沖突和 Hash表大小的設計問題,Linux 的內存管理就使用了它。

    Redis 用它存儲鍵的指針客戶端 ID 的映射關系。因為鍵對象的指針就是內存地址,也就是長整型數據。客戶端緩存的相關操作就是對該數據的增刪改查:

    • 當開啟 track 功能的客戶端獲取某一個鍵值時,Redis 會調用?enableTracking?方法使用基數樹記錄下該 key 和 clientId 的映射關系。

    • 當某一個 key 被修改或刪除時,Redis 會調用?trackingInvalidateKey?方法根據 key 從 TrackingTable 中查找所有對應的客戶端ID,然后調用?sendTrackingMessage?方法發(fā)送失效消息給這些客戶端(會檢查 CLIENT_TRACKING 相關標志位是否開啟和是否開啟了 NOLOOP)。

    • 發(fā)送完失效消息后,根據鍵的指針值將映射關系從 TrackingTable中刪除。

    • 客戶端關閉 track 功能后,因為刪除需要進行大量操作,所以 Redis 使用懶刪除方式,只是將該客戶端的 CLIENT_TRACKING 相關標志位刪除掉。

    2、廣播模式原理

    廣播模式與普通模式類似,Redis 同樣使用 PrefixTable 存儲廣播模式下的客戶端數據,它存儲前綴字符串指針和(需要通知的key和客戶端ID)的映射關系。它和廣播模式最大的區(qū)別就是真正發(fā)送失效消息的時機不同:

    • 當客戶端開啟廣播模式時,會在?PrefixTable的前綴對應的客戶端列表中加入該客戶端ID。

    • 當某一個 key 被修改或刪除時,Redis 會調用?trackingInvalidateKey?方法,?trackingInvalidateKey?方法中如果發(fā)現?PrefixTable?不為空,則調用?trackingRememberKeyToBroadcast?依次遍歷所有前綴,如果key 符合前綴規(guī)則,則記錄到?PrefixTable?對應的位置。

    • 在 Redis 的事件處理周期函數 beforeSleep 函數里會調用?trackingBroadcastInvalidationMessages?函數來真正發(fā)送消息。

    3、處理最大 tracking 上限

    Redis 會在每次執(zhí)行過命令后(processCommand方法)調用 trackingLimitUsedSlots 來判斷是否需要進行清理:

    • 判斷 TrackingTable 中鍵的數量是否大于 trackingtablemax_keys;

    • 在一定時間段內(不能太長,阻塞主流程),隨機從 TrackingTable 中選出一個鍵刪除,直到數量小于或者時間用完為止。

    4、具體源碼

    關于源碼,在 tracking.c 文件下,我們這里只看一下最為關鍵的 trackingInvalidateKey函數和 sendTrackingMessage 函數,理解了這兩個函數,廣播模式和處理最大 tracking 上限等相關函數都與之類似。

    void trackingInvalidateKey(client *c, robj *keyobj) { if(TrackingTable== NULL) return;sds sdskey = keyobj->ptr; // 省略,如果廣播模式的記錄基數樹不為空,則先處理廣播模式 // 1 根據鍵的指針去 TrackingTable 查找rax *ids = raxFind(TrackingTable,(unsignedchar*)sdskey,sdslen(sdskey)); if(ids == raxNotFound) return; // 2 使用迭代器遍歷raxIterator ri;raxStart(&ri,ids);raxSeek(&ri,"^",NULL,0); while(raxNext(&ri)) { // 3 根據 clientId 查找 client 實例client *target = lookupClientByID(id); // 4 如果未開啟 track 或者是廣播模式則跳過。 if(target == NULL || !(target->flags & CLIENT_TRACKING)||target->flags & CLIENT_TRACKING_BCAST) { continue; } // 5 如果開啟了 NOLOOP 并且是導致key發(fā)生變化的client則跳過。 if(target->flags & CLIENT_TRACKING_NOLOOP &&target == c) { continue; } // 6 發(fā)送失效消息sendTrackingMessage(target,sdskey,sdslen(sdskey),0); } // 7 減少數據統(tǒng)計,根據sdskey刪除對應的記錄 TrackingTableTotalItems-= raxSize(ids);raxFree(ids);raxRemove(TrackingTable,(unsignedchar*)sdskey,sdslen(sdskey),NULL); }

    源碼如上所示,trackingInvalidateKey 方法主要做了 7 件事情:

    • 根據鍵的指針去 TrackingTable 查找客戶端ID列表;

    • 使用迭代器遍歷列表;

    • 根據 clientId 查找 client 實例;

    • 如果 client 實例未開啟 track 或者是廣播模式則跳過;

    • 如果 client 實例開啟了 NOLOOP 并且是導致key發(fā)生變化的client則跳過;

    • 調用 sendTrackingMessage 方法發(fā)送失效消息;

    • 減少數據統(tǒng)計,根據sdskey刪除對應的記錄

    下面來看真正發(fā)送消息的 sendTrackingMessage 函數,它主要做了6件事:

    • 如果 clienttrackingredirection 不為空,則開啟了轉發(fā)模式;

    • 找到轉發(fā)的客戶端實例;

    • 如果轉發(fā)客戶端關閉了,則必須通知原客戶端;

    • 如果是客戶端使用 RESP3 則發(fā) PUSH 消息;

    • 如果是轉發(fā)模式,往 TrackingChannelName 也就是?_redis_:invalidate?信道中發(fā)送失效消息的頭部信息;

    • 發(fā)送鍵等信息。

    void sendTrackingMessage(client *c, char*keyname, size_t keylen, int proto) { int using_redirection = 0; // 1 如果 client_tracking_redirection 不為空,則開啟了轉發(fā)模式 if(c->client_tracking_redirection) { // 2 找到轉發(fā)的客戶端實例client *redir = lookupClientByID(c->client_tracking_redirection); if(!redir) { // 3 如果轉發(fā)客戶端關閉了,則必須通知原客戶端 .... return; }c = redir;using_redirection = 1; } if(c->resp > 2) { // 4 如果是 RESP3 則發(fā)PUSHaddReplyPushLen(c,2);addReplyBulkCBuffer(c,"invalidate",10); } elseif(using_redirection && c->flags & CLIENT_PUBSUB) { // 5 轉發(fā)模式,往 TrackingChannelName 信道中發(fā)送消息addReplyPubsubMessage(c,TrackingChannelName,NULL); } else{ return; } // 6 發(fā)送鍵等信息,和上邊4,5操作連在一起的。addReplyProto(c,keyname,keylen); }

    歡迎點贊評論,后續(xù)還會學習其他 Redis 6.0.0 的其他亮點功能,歡迎繼續(xù)關注~

    ?

    添加小助手:vipcsdn

    回復關鍵詞:遇見OFFER快速入群!

    推薦閱讀

    • 手把手教你配置VS Code 遠程開發(fā)工具,工作效率提升N倍

    • 用大白話徹底搞懂 HBase RowKey 詳細設計

    • 后端程序員必備:書寫高質量SQL的30條建議

    • Go 遠超 Python,機器學習人才極度稀缺,全球 16,655 位程序員告訴你這些真相!

    • 任正非談“狼文化”:華為沒有 996,更沒有 007

    • 區(qū)塊鏈必讀“上鏈”哲學:“胖鏈下”與“瘦鏈上”

    • 在商業(yè)中,如何與人工智能建立共生關系?

    真香,朕在看了!

    總結

    以上是生活随笔為你收集整理的Redis 6.0 的客户端缓存是怎么肥事?一文带你了解!的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    日韩免费一级电影 | 91在线一区二区 | 香蕉网在线播放 | 国产伦理久久 | 夜夜看av| 国产一区观看 | 天天操天天干天天玩 | 国产福利一区二区三区在线观看 | 在线观看免费一级片 | 欧美黄网站 | 久久色在线观看 | 日韩理论在线 | av网站在线观看免费 | 中文字幕国产精品一区二区 | 国产淫片 | 日韩v欧美v日本v亚洲v国产v | 在线中文字母电影观看 | 美女久久久久久久 | 国产亚洲激情视频在线 | 国产精品日韩欧美一区二区 | 久久国产精品一区二区 | 色婷婷88av视频一二三区 | 久久精品一区二区国产 | 欧美在线视频精品 | 色99久久 | 天天干天天做 | 91在线国产观看 | 97超碰成人在线 | 丝袜美女在线 | 久久看毛片 | 日韩精品一区二区三区在线视频 | 国产在线视频资源 | 色婷婷综合在线 | 美女精品 | av蜜桃在线| 亚洲精品在线免费看 | 国产精品三级视频 | 日韩色综合 | 色综合天天天天做夜夜夜夜做 | 亚洲精品中文字幕在线观看 | 精品亚洲午夜久久久久91 | 久久久久国产成人免费精品免费 | 国产精品网在线观看 | 国产亚洲午夜高清国产拍精品 | 色综合久久99 | 亚洲激情久久 | 精品久久久亚洲 | 久久久久99精品成人片三人毛片 | 国产午夜在线观看视频 | 国产精品久久久久久久电影 | 丝袜美腿在线 | 亚洲精品视频在 | 激情综合网五月婷婷 | 亚洲综合欧美激情 | 亚洲精品777 | 亚洲免费公开视频 | 天天射天天色天天干 | 人人超碰97| www.99av| 日韩av美女 | 国产日韩欧美在线免费观看 | 国产大陆亚洲精品国产 | 亚洲久在线| 久久综合五月天 | 在线观看韩国av | 久久精品国产一区二区三 | 欧美一二三视频 | 久久视影| 日韩欧美国产视频 | 欧美一进一出抽搐大尺度视频 | 91精品国产成人观看 | 久久久久久中文字幕 | 黄色av网站在线观看免费 | 国产精品久久久久9999 | 在线观看国产一区二区 | 在线欧美小视频 | 国产原创av片 | 在线观看视频在线 | 天天干天天操人体 | 欧美精选一区二区三区 | 国产视频精品免费播放 | 国产精品18久久久久久vr | 2024国产精品视频 | 日韩欧美有码在线 | 日韩com | 日本午夜在线观看 | 狠狠躁夜夜a产精品视频 | 中文字幕色网站 | 日本精品中文字幕在线观看 | 色婷婷成人网 | 日韩视频中文字幕 | 国产一级免费观看 | 97免费视频在线播放 | 欧美人人爱 | 视频直播国产精品 | 91在线国内视频 | 免费一级毛毛片 | 日本韩国中文字幕 | 视频一区二区国产 | 久久国产亚洲 | 亚洲天天干 | 成人h动漫在线看 | 国产麻豆果冻传媒在线观看 | 丁香综合 | 天天干天天干天天色 | 国产群p视频 | 久影院 | 中文字幕免 | 91在线观看视频网站 | 色五月色开心色婷婷色丁香 | 91亚洲精品久久久蜜桃借种 | 日韩剧情 | 波多野结衣电影一区二区 | 国产高清成人在线 | 超碰在线观看99 | 欧美精品v国产精品 | 日韩性xxx| 亚洲黄色精品 | 亚洲天堂毛片 | 日韩精品欧美精品 | 成人全视频免费观看在线看 | 日韩精品视频免费在线观看 | a黄色片 | 亚洲综合精品视频 | 97在线免费视频观看 | 97精品视频在线播放 | 亚洲五月婷 | 国产高清中文字幕 | 国内三级在线 | 亚洲精品字幕在线 | 日韩在线观看你懂得 | 婷婷精品国产欧美精品亚洲人人爽 | 亚洲综合在线视频 | 亚洲国产一区在线观看 | 亚洲精品国偷拍自产在线观看 | 日韩成人中文字幕 | 在线观看免费av网站 | 亚洲精品中文字幕在线 | 麻豆一区二区 | 日韩免费一级电影 | 成全在线视频免费观看 | 在线a视频 | 久久久久久黄色 | 91成人精品视频 | 天天干天天拍天天操 | www.福利| 狠狠gao| 一区二区三区久久 | 丁香伊人网| 免费在线观看中文字幕 | 国产护士hd高朝护士1 | 精品久久久久久久久久国产 | 国产特级毛片aaaaaa高清 | 婷婷99| 成人免费91| 又黄又爽又无遮挡的视频 | 97电影在线 | 久久伦理电影网 | 免费中午字幕无吗 | 中文字幕av免费在线观看 | 97超级碰碰碰视频在线观看 | 99精品久久久久久久 | 色在线亚洲| 在线观看黄 | www.eeuss影院av撸 | 国产主播大尺度精品福利免费 | 色福利网 | 成人av在线电影 | 国产一级片播放 | 99久久婷婷国产精品综合 | 天天射一射 | 日韩 精品 一区 国产 麻豆 | 国产中文字幕在线看 | 成人教育av| 国产黄色免费电影 | 超碰97成人 | 操久久网| 婷婷开心久久网 | 91九色综合| 久久蜜臀一区二区三区av | 欧美综合久久 | 五月婷婷播播 | 在线观看爱爱视频 | 国产精品不卡在线播放 | 激情丁香综合五月 | 国产成人高清av | 中文字幕一区二区三区在线视频 | 在线免费三级 | 综合五月婷婷 | 中文字幕免费久久 | av高清免费在线 | 日韩精品一区二区久久 | 中文字幕在线观看第一区 | 天天摸夜夜操 | 五月天婷婷在线观看视频 | 日韩亚洲国产中文字幕 | 九色精品免费永久在线 | 亚洲成人精品久久 | 九九99| 日韩视频一区二区三区在线播放免费观看 | 成 人 免费 黄 色 视频 | 免费日韩 精品中文字幕视频在线 | 国产成人一区二区三区在线观看 | 免费在线国产 | 人人爽久久久噜噜噜电影 | 亚洲另类视频在线观看 | 亚洲蜜桃在线 | 欧美日韩在线观看一区二区 | 麻豆激情电影 | 精品毛片在线 | 日韩av免费观看网站 | 久久在线免费观看视频 | 91精品国产综合久久福利 | 久久在线精品视频 | 国产一区视频导航 | www久| 国产精品久久久久久久久久直播 | 在线免费色视频 | 在线免费观看麻豆视频 | 国产精品久久电影观看 | 成人av片免费观看app下载 | 亚洲欧美日韩在线看 | 激情av在线资源 | 不卡日韩av| 黄色91在线观看 | 精品亚洲免a| 天天干天天操天天爱 | 69夜色精品国产69乱 | 91精品视频一区 | 久久亚洲私人国产精品va | 日本在线中文在线 | 国产又粗又硬又长又爽的视频 | 91九色蝌蚪视频 | 二区三区中文字幕 | v片在线播放 | 国产美女精品在线 | 色综合天天天天做夜夜夜夜做 | 色噜噜狠狠狠狠色综合久不 | 亚洲国产视频直播 | 综合久久网站 | 色综合久久综合中文综合网 | 91福利在线导航 | 国产在线视频一区二区三区 | 国内久久久久 | 久久视频免费在线观看 | 国产中文字幕一区 | 日韩视频在线观看免费 | 日女人免费视频 | 久久永久视频 | 国内成人精品2018免费看 | 成人黄在线 | 九九热在线观看视频 | 色中色综合 | 天天躁日日躁狠狠躁av中文 | 久久综合免费视频影院 | 午夜精品婷婷 | 亚洲精品麻豆视频 | 国产剧情av在线播放 | 6080yy午夜一二三区久久 | 国产精品theporn | 国产一区私人高清影院 | 91视视频在线直接观看在线看网页在线看 | 天天综合区 | 欧日韩在线 | 国产亚洲一区二区在线观看 | 天天色天天| 久草免费电影 | 亚州精品天堂中文字幕 | 中文字幕一区二区三 | 欧美精品黑人性xxxx | 国际精品久久久久 | 349k.cc看片app| 亚洲精品视频在线观看免费 | 亚洲高清视频在线 | 手机看片 | 国产精品二区在线 | 一区二区三区韩国免费中文网站 | 久久99精品久久久久婷婷 | 亚洲人成免费网站 | 超碰在线人人 | www.伊人色.com | 日韩精品中文字幕在线不卡尤物 | 欧美成人aa | av线上免费看 | 在线视频国产区 | 亚洲精品免费观看 | 欧美日韩一区二区三区视频 | 四虎成人精品永久免费av九九 | 99免费在线视频 | 亚州av一区 | 国产日韩视频在线观看 | 欧美日韩中文字幕综合视频 | 日本精品久久久久影院 | 成人免费一区二区三区在线观看 | 美女黄网站视频免费 | 国产精品欧美精品 | 日韩在线短视频 | 欧美精品v国产精品v日韩精品 | 色资源二区在线视频 | 四虎最新入口 | 黄色av一区 | 国产欧美日韩视频 | 视频国产精品 | 亚洲国产欧美一区二区三区丁香婷 | 91av官网| 免费97视频 | 中文字幕第 | 又紧又大又爽精品一区二区 | 亚洲电影影音先锋 | 色播六月天 | 日本久久精品 | 国内精品久久久久久久久久清纯 | 天天干天天射天天插 | 精品一区二区在线免费观看 | 欧美a级免费视频 | 久久久久久久久毛片 | 91完整版观看 | 久久久久9999亚洲精品 | 亚洲h在线播放在线观看h | 97精品国产aⅴ | 91热| 中文字幕中文字幕在线一区 | 国产又黄又爽又猛视频日本 | 中文av网站 | 亚洲精品免费在线观看 | 91麻豆文化传媒在线观看 | 99re在线视频观看 | h网站免费在线观看 | 波多野结衣视频一区二区三区 | 日本公妇色中文字幕 | 日韩免费高清 | 日本中文乱码卡一卡二新区 | 中文在线资源 | 国产成人免费在线观看 | 亚洲最新毛片 | 国产亚洲91 | 亚洲高清免费在线 | 国产精品欧美久久 | 欧美一级视频免费看 | 亚洲一区二区91 | 国产精品久久久久久久久毛片 | 最新国产在线视频 | 精品久久久久久国产 | 久久69av | 91在线视频观看免费 | 人人插人人搞 | 99久久久久国产精品免费 | 黄色的网站在线 | 色婷婷激情| 国产成人一区二区啪在线观看 | 黄色电影小说 | 欧美一级性生活片 | 日韩成人免费在线电影 | 精品免费视频. | 亚洲国产网址 | 亚洲国产成人精品电影在线观看 | 国产91亚洲精品 | 亚洲女欲精品久久久久久久18 | 国产福利一区二区在线 | 中文字幕国产一区二区 | 91日韩在线专区 | 日日操天天操夜夜操 | www.久久99 | 国产精品视频永久免费播放 | 免费国产在线视频 | 国产人成一区二区三区影院 | 亚洲一区不卡视频 | 欧美激情综合色综合啪啪五月 | 美女视频永久黄网站免费观看国产 | 99久久国产免费免费 | 在线观看一 | 成人av电影在线观看 | 国产精品国产三级国产 | 中文字幕在线第一页 | 亚洲资源在线观看 | 色a网 | 国产精品一区二区三区久久 | 高清国产午夜精品久久久久久 | 色噜噜色噜噜 | 国产精品久久电影网 | 麻豆成人在线观看 | 在线观看免费av网站 | 欧美在线观看视频免费 | 色综合天天综合在线视频 | www91在线观看 | 亚洲日本精品视频 | 成人免费共享视频 | 国产精品ⅴa有声小说 | 91视频88av | 亚洲一级国产 | 国产成人精品综合久久久 | 日日日日干 | 狠狠五月天 | 中文字幕在线播放一区二区 | 久久久久伦理电影 | 中文字幕免费高 | 久久精品综合一区 | 国产精品手机播放 | 午夜久久福利影院 | 97在线精品 | 久草在线在线 | 国产在线精品视频 | 亚洲国产人午在线一二区 | 天天躁天天狠天天透 | 激情五月六月婷婷 | 国产一在线精品一区在线观看 | 日韩一区二区在线免费观看 | 国产一级免费播放 | 青青河边草免费 | 在线午夜av| 天天干天天干天天 | 亚洲精品乱码久久久久久蜜桃不爽 | 97精品视频在线播放 | 三级视频片 | 黄色三级免费观看 | 国色天香第二季 | a黄色大片 | 在线观看www91 | 超碰成人网 | 国产亚洲精品久久久久动 | 九九涩涩av台湾日本热热 | 欧美成人h版在线观看 | 亚洲高清91 | 亚洲精品一区二区三区新线路 | 欧美国产亚洲精品久久久8v | 一区二区激情 | 亚洲精品视频免费在线 | 91在线在线观看 | av高清免费在线 | 在线免费观看黄色大片 | 国产麻豆视频在线观看 | 亚州精品视频 | 在线日韩av | 午夜精品久久久久 | 精品一区精品二区高清 | 九九热在线精品 | 免费日韩 | 色综合久久66 | 婷婷丁香久久五月婷婷 | 日韩免费在线观看视频 | 成人性生交大片免费观看网站 | 人人干人人干人人干 | 中文乱码视频在线观看 | 国产免费激情久久 | 黄色三级免费片 | 中文字幕一区三区 | 欧美日韩精品在线观看 | 亚洲成人麻豆 | 亚洲国产精品人久久电影 | 伊人天天综合 | 中文字幕免费不卡视频 | 亚洲精品在线观看不卡 | 欧美日韩国产一二 | 国产精品原创 | 在线视频 你懂得 | 97人人添人澡人人爽超碰动图 | 国产精品乱码高清在线看 | 国产玖玖在线 | 伊人久久五月天 | 亚洲欧美激情精品一区二区 | 中文字幕影片免费在线观看 | 欧美精品一区二区在线观看 | 天天干天天操天天入 | 久久久国产精品视频 | 国产97超碰| 色综合天天狠天天透天天伊人 | 久章操 | 中文字幕视频一区二区 | 少妇bbbb| 亚洲精品视频偷拍 | a电影在线观看 | 国产91成人在在线播放 | 成人午夜电影在线播放 | 天干啦夜天干天干在线线 | 国产小视频你懂的在线 | 国产视频网站在线观看 | 国产91探花 | 欧美日韩中 | 日韩精品一区二区免费 | 国产精品精品久久久 | 午夜av在线电影 | 成人免费中文字幕 | 99热在线网站 | 国产在线色站 | 久久特级毛片 | 国产精品成 | 中午字幕在线观看 | 精品一区 在线 | 欧美精品久久久久久久久久 | 99精品国产兔费观看久久99 | 特级a老妇做爰全过程 | 久久久999免费视频 日韩网站在线 | www.久艹| 中文字幕乱码电影 | 欧美日韩在线视频免费 | 91麻豆精品国产91久久久久久 | 99色视频| 超碰成人免费电影 | 国产在线观看二区 | 4438全国亚洲精品观看视频 | wwwwwww色| 色综合欧洲| 国产精品日韩在线 | 九九久久婷婷 | 97天堂网| 日韩成人一级大片 | 丁香五月缴情综合网 | 天天操天天色天天射 | 免费a v在线| 免费在线观看av不卡 | 久久免费国产视频 | a在线视频v视频 | 日韩av男人的天堂 | 国产精品精品久久久久久 | 日本久久久久久久久久 | 免费色视频网站 | 三级av中文字幕 | 亚洲黄电影 | 日韩久久精品一区 | 天天综合天天综合 | 亚洲一级片免费观看 | 日韩视频在线不卡 | 欧美性视频网站 | 中文字幕在线人 | 中文av不卡 | 亚洲伦理中文字幕 | 国产视频精品在线 | 久草手机视频 | 西西444www大胆无视频 | 亚洲天堂色婷婷 | 国产精品女人久久久久久 | 天天爱天天操天天射 | 欧美久久久久久久久久久久久 | 亚洲综合五月天 | 国产亚洲精品bv在线观看 | 国产vs久久 | 在线看小早川怜子av | 国产99久久久国产精品 | 国产精品久久久久久久久搜平片 | 91精品啪在线观看国产 | 国产精品视频久久久 | 日韩网 | 国产高清精 | 免费视频久久久久久久 | 成人在线免费av | 久久99九九99精品 | 日韩精品一区二区三区免费观看视频 | .国产精品成人自产拍在线观看6 | 国产日韩精品久久 | 国产精品自产拍在线观看 | 国产手机视频精品 | 99tvdz@gmail.com | 四虎影视成人 | 国产精品一区二区视频 | 久久精品这里热有精品 | 99草视频在线观看 | 国产一区二区在线播放视频 | 天天干天天做天天操 | 国产精品大片免费观看 | 九九热视频在线免费观看 | 在线日韩 | av福利电影 | 在线中文视频 | 在线探花| 国产精品久久婷婷六月丁香 | 日韩电影中文,亚洲精品乱码 | 99热精品国产一区二区在线观看 | 在线观看国产福利片 | 久久一二三四 | 免费在线一区二区 | 国产 欧美 日本 | 在线中文字幕网站 | 最近2019年日本中文免费字幕 | 人人澡人摸人人添学生av | 成年人在线观看视频免费 | 91插插插免费视频 | 人人视频网站 | 亚洲精品国产综合99久久夜夜嗨 | 日韩美女免费线视频 | 综合在线观看 | 久久96国产精品久久99漫画 | 日韩精品一区二区三区在线视频 | 超碰97在线资源站 | 免费看片网页 | 在线观看国产日韩 | 在线黄色免费av | 97免费视频在线 | 在线观看网站av | 亚洲成人精品 | 成人国产精品久久久 | 亚洲电影第一页av | 欧美日韩精品电影 | 狠狠躁夜夜躁人人爽视频 | 国产亚洲激情视频在线 | 最新日韩在线观看 | 亚洲在线a | 婷婷视频在线观看 | 亚洲va欧美| 在线国产视频观看 | 久草在线 | 日韩成人看片 | 国产精品久久久毛片 | 99热.com | 久久视频| 日韩区在线观看 | 免费在线观看成人小视频 | 最新超碰 | 日本黄色免费观看 | 天天鲁天天干天天射 | 又污又黄的网站 | 在线观看深夜福利 | av资源中文字幕 | 夜夜夜夜爽 | 二区中文字幕 | av天天草| 久久久久久久久福利 | 亚洲在线精品 | 国产色拍拍拍拍在线精品 | 久久精品国产99国产 | 精品国产一区二区三区噜噜噜 | 超碰夜夜| 午夜精品电影 | 国产成人一区二区啪在线观看 | 国产欧美在线一区二区三区 | 97在线观 | 国产九色91 | 久久精品亚洲综合专区 | 日本性生活一级片 | 激情五月婷婷 | 国产精品少妇 | 成人影音av| 国产一级片在线播放 | 中文字幕免费观看全部电影 | 国产精品无 | 91麻豆文化传媒在线观看 | 亚洲闷骚少妇在线观看网站 | 成年人视频在线免费 | 国产真实精品久久二三区 | 91自拍91| 国产理论在线 | 午夜精品导航 | 四虎国产永久在线精品 | 高清一区二区三区av | 午夜精品一区二区三区在线视频 | 国产精品大片在线观看 | 国产精品中文久久久久久久 | 日韩3区| 久久亚洲影院 | 国产精品久久久久久模特 | 成人在线视频网 | 久草在线免费在线观看 | 四虎国产| 欧美久久久久久久久中文字幕 | 国产乱对白刺激视频不卡 | 国产精品高潮呻吟久久久久 | 最新免费av在线 | 黄色av一级片 | 日日天天狠狠 | 国产精品综合av一区二区国产馆 | 久久精品视频免费观看 | 午夜精品福利在线 | 亚洲精品tv久久久久久久久久 | 五月综合在线观看 | 99久久久国产精品美女 | 激情亚洲综合在线 | 欧美日韩久久不卡 | 欧美日本中文字幕 | 日黄网站 | 超碰最新网址 | 国产精品久久久影视 | 国产精品扒开做爽爽的视频 | 久久国产免费视频 | 亚洲精品国偷自产在线91正片 | 日精品 | 成人午夜剧场在线观看 | 麻豆传媒电影在线观看 | 美女视频黄免费的久久 | 久久国产精品99久久久久久丝袜 | 九色琪琪久久综合网天天 | av中文字幕网 | 中文一区二区三区在线观看 | 久久久久久国产精品久久 | 亚洲精品在线视频网站 | 国产色资源 | 欧美精品久 | 99精品国产在热久久下载 | 国产三级精品在线 | 国产一区二区高清不卡 | 2017狠狠干| 免费成人av | 五月开心色 | 丁香婷婷射 | 亚洲精品国产综合久久 | av免费看电影 | 欧美日韩综合在线观看 | 精品 激情 | 午夜性色| 亚洲日本欧美在线 | 亚洲精品小区久久久久久 | 麻豆 free xxxx movies hd | 7777精品伊人久久久大香线蕉 | 91在线在线观看 | 国产一级视屏 | 91九色网站| 国产在线a免费观看 | 国产精品二区在线 | 91三级在线观看 | 欧美午夜寂寞影院 | 色婷婷国产精品 | 黄色影院在线免费观看 | 国产精品久久电影网 | 一级黄色大片 | 黄色网www | 国产又粗又猛又色 | 免费视频黄 | 二区三区在线观看 | 干 操 插 | 日批网站免费观看 | www国产精品com| www.日日日.com | 日韩精品一卡 | 久久久久女教师免费一区 | 国产在线日本 | 亚洲国产手机在线 | 欧美人人 | 黄色软件网站在线观看 | 天天射天天色天天干 | 国产涩涩网站 | 全久久久久久久久久久电影 | 日韩久久激情 | 久久久国产一区二区三区 | 精品国产一区在线观看 | 久草精品视频 | 中文成人字幕 | 婷婷国产一区二区三区 | 91视频久久久久久 | 欧美日韩91 | 久久久影院官网 | 在线蜜桃视频 | 久久久久久久久久影视 | 中文字幕在线观看av | 久久久久亚洲精品成人网小说 | 亚洲国产成人在线观看 | 日日干天天射 | 美女网站在线播放 | 国产精品小视频网站 | 天天夜夜狠狠操 | 久久亚洲国产精品 | 亚洲精品在线观看不卡 | 成人av中文字幕在线观看 | 美女久久99 | 亚洲天堂香蕉 | 久久在线视频在线 | 日韩精品久久久久 | 在线观看爱爱视频 | 日本系列中文字幕 | 激情文学丁香 | 国产美女视频免费观看的网站 | 一级一片免费视频 | 亚洲精品观看 | 日韩亚洲在线视频 | 五月天天色 | 韩国精品一区二区三区六区色诱 | 久久国产精品99久久久久久丝袜 | 精品麻豆入口免费 | 国产91精品在线观看 | 成人av免费在线看 | 久久综合一本 | 日本久久精品视频 | 成人国产精品电影 | 日本久久综合网 | 国产一区二区在线免费视频 | 黄色大片网 | 国产成视频在线观看 | 欧美日韩视频免费 | 欧美色图亚洲图片 | 91在线日本| 日韩大片在线免费观看 | 2000xxx影视| 亚洲 欧美 国产 va在线影院 | 免费观看国产精品视频 | 成人毛片a | 欧美一级日韩免费不卡 | 成人在线免费观看网站 | 69精品 | 91视频中文字幕 | 中文字幕国产精品 | 超碰97网站| 免费国产在线精品 | www.888.av| 久久97视频 | 久久综合影音 | 人人爽人人爽人人爽学生一级 | 婷婷综合亚洲 | 日韩av一区二区在线播放 | 免费成人在线观看 | 91精品国产99久久久久久久 | 麻豆视频在线免费观看 | 国产手机视频在线 | 午夜久久久精品 | 久久久婷| 在线观看岛国 | 国产亚洲午夜高清国产拍精品 | 成人免费在线视频 | 在线视频app| 国产在线视频一区 | 成人av高清在线观看 | 精品女同一区二区三区在线观看 | 玖玖爱免费视频 | 亚洲黄色在线观看 | 激情丁香综合五月 | 美女一级毛片视频 | 中文字幕二区在线观看 | 中文在线中文资源 | 91在线看片 | 中文字幕乱码电影 | 欧美专区亚洲专区 | 日韩av高清在线观看 | av免费网站观看 | 福利网址在线观看 | 香蕉在线视频播放网站 | 超碰在线免费福利 | 91喷水 | 亚洲激精日韩激精欧美精品 | 亚洲欧美色婷婷 | 国产精品 中文字幕 亚洲 欧美 | 91视频在线免费 | 亚洲精品色| 国产欧美精品在线观看 | 欧美91成人网 | 日韩色av色资源 | 久久综合久久八八 | 亚洲一级片在线观看 | 日韩中文字幕第一页 | 伊人五月天.com | 91精品视频一区 | 亚洲精品午夜久久久 | a在线观看视频 | 四虎在线观看网址 | 天天·日日日干 | 精品视频免费久久久看 | 免费在线激情电影 | 国产精彩视频一区 | 欧美久久久久久久久久 | 91成品视频| 国产精品福利无圣光在线一区 | 亚洲小视频在线观看 | 国产精品剧情 | 亚洲片在线 | 久久黄色片 | 久久久www成人免费毛片 | 日本黄色一级电影 | 亚洲综合欧美日韩狠狠色 | 国产精久久 | 综合久久精品 | 激情伊人五月天 | 996久久国产精品线观看 | 国产女教师精品久久av | 国产精品网红直播 | 国产一区二区在线免费播放 | 女人18毛片a级毛片一区二区 | av手机版 | 麻豆免费视频观看 | 日本精品久久久久久 | 综合国产视频 | 黄色www在线观看 | 精品视频免费久久久看 | 精品亚洲成a人在线观看 | av高清网站在线观看 | 激情综合网五月 | 婷婷激情av | 成人在线视频免费观看 | 日韩在线观看免费 | 国产一区免费在线观看 | av在线一二三区 | 欧美日韩在线观看一区二区 | 日本女人b| 欧美孕交vivoestv另类 | 五月天精品视频 | 不卡中文字幕在线 | 日韩视频在线一区 | 国产亚洲视频中文字幕视频 | 日本午夜在线观看 | 精油按摩av | 亚洲高清视频在线 | 亚洲最大激情中文字幕 | 久久午夜电影 | 九九热在线精品视频 | 特级片免费看 | 欧美精品亚洲精品日韩精品 | 国产精品一区二区三区99 | 婷婷激情综合网 | 亚洲精品乱码久久久久v最新版 | 九九九九热精品免费视频点播观看 | 精品国产网址 | 91插插插免费视频 | 91av在线不卡 | 久草在线视频中文 | 日韩av高清在线观看 | 1024手机看片国产 | 日韩在线看片 | 美女黄频| 成人精品视频久久久久 | 亚洲精品99久久久久中文字幕 | 麻豆国产在线播放 | 九九热精 | 国产麻豆精品一区二区 | 国产一区二区网址 | 狠狠色丁香久久综合网 | 国产精品久久久久一区二区 | 97色综合 | 久久国产一区二区三区 | 黄色avwww| 国产精品美女网站 | av资源免费在线观看 | 久久99热精品这里久久精品 | 丁香免费视频 | 国产精品视频在线看 | 涩涩在线 | 伊人夜夜| 99精品热视频只有精品10 | 胖bbbb搡bbbb擦bbbb | 欧美大片在线看免费观看 | 99精品视频一区 | 日韩电影久久 | 亚洲视频 中文字幕 | 91精品啪在线观看国产线免费 | 久久狠狠一本精品综合网 | 国产视频精品免费 | 中文字幕成人网 | 久久你懂的 | 四虎成人免费观看 | 亚洲精品免费在线 | ,久久福利影视 | 欧美日韩国产伦理 | www.久久婷婷 | 国产精品视频专区 | 中文字幕在线观看视频一区 | 在线观看精品一区 | 天天操天天干天天插 | 成人午夜剧场在线观看 | 亚洲精品欧美成人 | 久久这里只有精品23 | 国产一二区在线观看 | 精品99999| av片一区 | 四虎在线免费观看视频 | 国产精品国产三级国产不产一地 | 欧洲精品二区 | 国产精品乱码久久久 | 天堂网在线视频 | 天天射天天干天天操 | av在线之家电影网站 | 五月激情在线 | 男女视频91 | 天天爱天天| 欧美午夜一区二区福利视频 | 国产一区二区在线播放视频 | 亚洲国产精品激情在线观看 | av超碰在线观看 | 99久久99久久精品国产片 | 丁香婷婷综合色啪 | 亚洲激情在线观看 | 色婷婷综合久久久中文字幕 | 狠狠狠狠狠狠狠狠干 | 美女国产精品 | 操操碰 | 国产精彩视频一区 | 国产在线观看污片 | 日本aa在线| 精品成人久久 | 国产精品久久免费看 | 日韩成人中文字幕 | 亚洲九九九在线观看 | 成人免费一级 | 天天艹天天操 | 中文字幕资源网 国产 | 国产a免费 | 色婷婷久久 | 天天干天天摸天天操 | 午夜免费电影院 | 国产91精品欧美 | 天天操天天摸天天干 | 国际av在线 | 欧美日韩激情视频8区 | 夜夜爽天天爽 | 黄色av一区二区 | 国产一级黄色片免费看 | 五月花激情 | 免费看的毛片 | 久久歪歪 | 国产高清综合 | 少妇啪啪av入口 | 天天色天天干天天色 | 成人午夜电影在线观看 | 国产精品成人自产拍在线观看 | 九月婷婷人人澡人人添人人爽 | 狠狠成人 |