精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

替你踩過Redis緩存的坑,奉上使用規范和監控方法

數據庫 其他數據庫 Redis
在互聯網應用中,緩存成為高并發架構的關鍵組件。本文主要介紹緩存使用的典型場景、實操案例分析、Redis使用規范及常規Redis監控。

 一、前言

在互聯網應用中,緩存成為高并發架構的關鍵組件。本文主要介紹緩存使用的典型場景、實操案例分析、Redis使用規范及常規Redis監控。

二、常見緩存對比

常見的緩存方案:本地緩存包括HashMap/ConcurrentHashMap、Ehcache、Memcache、Guava Cache等,緩存中間件包括Redis、Tair等。

三、Redis使用場景

1、計數

Redis實現快速計數及緩存功能。

例如:視頻或直播在線觀看人數,用戶每播放一次,就會自增1。

2、Session集中管理

Session可以存儲在應用服務是JVM中,但這一種方案會有一致性的問題,還有高并發下,會引發JVM內存溢出。Redis將用戶的Session集中管理,這種情況下只要保證Redis的高可用和擴展性,每次用戶更新或查詢登錄都直接從Redis中信息獲取。

3、限速

例如:高并發的秒殺活動,使用incrby命令實現原子性遞增。

例如:業務要求用戶一分鐘內,只能獲取5次驗證碼。

4、排行榜

關系型數據庫在排行榜方面查詢速度普遍偏慢,所以可以借助redis的SortedSet進行熱點數據的排序。

比如在項目中,如果需要統計主播的吸金排行榜,可以以主播的id作為member, 當天打賞的活動禮物對應的熱度值作為 score, 通過zrangebyscore就可以獲取主播活動日榜。

5、分布式鎖

在實際的多進程并發場景下,使用分布式鎖來限制程序的并發執行。多用于防止高并發場景下,緩存被擊穿的可能。

分布式鎖的實際就是"占坑",當另一個進程來執行setnx時,發現標識位已經為1,只好放棄或者等待。

四、案例解析

1、過期設置- set命令會去掉過期時間

Redis所有的數據結構,都可以設置過期時間。如果一個字符串已經設置了過期時間,然后重新設置它,會導致過期時間消失。所以在項目中需要合理評估Redis容量,避免因為頻繁set導致沒有過期策略,間接導致內存被占滿。

如下是 Redis 源碼截圖:

2、Jedis 2.9.0及以下版本過期設置BUG

發現Jedis在進行expiredAt命令調用時有bug,最終調用的是pexpire命令,這個bug會導致key過期時間很長,導致Redis內存溢出等問題。建議升級到Jedis 2.9.1及以上版本。

BinaryJedisCluster.java源碼如下: 

  1. @Override  
  2.   public Long pexpireAt(final byte[] key, final long millisecondsTimestamp) {  
  3.     return new JedisClusterCommand<Long>(connectionHandler, maxAttempts) {  
  4.       @Override  
  5.       public Long execute(Jedis connection) {  
  6.         return connection.pexpire(key, millisecondsTimestamp); //此處pexpire應該是pexpireAt  
  7.       }  
  8.     }.runBinary(key);  
  9.   } 

對比pexpire和pexpireAt:

比如我們當前使用的時間是2018-06-14 17:00:00,它的unix時間戳為1528966800000毫秒,當我們使用PEXPIREAT命令時,由于是過去的時間,相應的key會立即過期。

而我們誤用了PEXPIRE命令時,key不會立即過期,而是等到1528966800000毫秒后才過期,key過期時間會相當長,約幾W天后,從而可能導致Redis內存溢出、服務器崩潰等問題。

3、緩存被擊穿

緩存的key有過期策略,如果恰好在這個時間點對這個Key有大量的并發請求,這些請求發現緩存過期一般都會從后端DB回源數據并回設到緩存,這個時候大并發的請求可能會瞬間把后端DB壓掛。

業界常用優化方案有兩種:

  •  第一種:使用分布式鎖,保證高并發下,僅有一個線程能回源后端DB;
  •  第二種:保證高并發的請求到的Redis key始終是有效的,使用非用戶請求回源后端,改成主動回源。一般可以使用異步任務進行緩存的主動刷新。

4、Redis-standalone架構禁止使用非0庫

Redis執行命令select 0和select 1切換,造成性能損耗。

RedisTemplate在執行execute方法的時候會先獲取鏈接。

執行到RedisConnectionUtils.java,會有一段獲取鏈接的方法。

JedisConnectionFactory.java 會調用

JedisConnection構造器,注意這邊的dbIndex就是數據庫編號,如:1

繼續跟進JedisConnection代碼,當選擇庫大于1時,會有select db操作。如果一直使用0庫是不需要額外執行切庫命令的。知道了第一個切庫select 1的地方,那么select 0是哪來的呢?

其實客戶端使用Redis也會是要釋放鏈接的,只不過RedisTemplate已經幫我們自動釋放了,讓我們再回到一開始RedisTemplate執行execute(...)方法的地方。

下面還是RedisConnectionUtils.java,執行鏈接關閉的代碼。

按代碼注釋的意思,如果選擇庫編號不為0,spring-data-redis框架每次都會執行重置select 0!

筆者在vivo商城業務中,商品詳情頁接口經過上面的調優,性能提高了3倍多。

進一步驗證數據庫切換至少影響性能3倍左右(視具體業務而定)。

Rediscluster集群數據庫,默認0庫,無法選擇其他數據庫,也就避免了這個問題。

5、當心時間復雜度o(n)Redis命令

Redis是單線程的,所以線程安全的。

Redis使用非阻塞IO,并且大部分命令的時間復雜度O(1)。

使用高耗時的命令是非常危險的,會占用唯一的一個線程的大量處理時間,導致所有的請求都被拖慢。

例如:獲取所有set集合中的元素 smembers myset,返回指定Hash中所有的member,時間復雜度O(N)。

緩存的Value集合變大,當高并接口請求時,會從Redis讀取相關數據,每個請求讀取的時間變長,不斷的疊加,導致出現熱點KEY情況,Redis某個分片處于阻塞,CPU使用率達到100%。

6、緩存熱key

在Redis中,訪問頻率高的key稱為熱點key,當某一熱點key的請求到Server主機時,由于請求量特別大,導致主機資源不足,甚至宕機,影響正常的服務。

熱key問題的產生,有如下兩種原因:

  •  用戶消費的數據遠大于生產的數據,比如熱賣商品或秒殺商品、熱點新聞、熱點評論等,這些典型的讀多寫少的場景會產生熱點問題;
  •  請求分片集中,超過單Server的性能極限,比如 固定名稱key,哈希落入一臺Server,訪問量極大的情況,超過Server極限時,就會導致熱點Key問題的產生。

那么在實際業務中,如何識別到熱點key呢?

  •  憑借業務經驗,進行預估哪些是熱key;
  •  客戶端統計收集,本地統計或者上報;
  •  如果服務端有代理層,可以在代理層進行收集上報。

當我們識別到熱key,如何解決熱key問題?

  •  Redis集群擴容:增加分片副本,均衡讀流量;
  •  進一步對熱key進行散列,比如將一個key備份為key1,key2……keyN,同樣的數據N個備份,N個備份分布到不同分片,訪問時可隨機訪問N個備份中的一個,進一步分擔讀流量;
  •  使用二級緩存,即本地緩存。

當發現熱key后,將熱key對應數據首先加載到應用服務器本地緩存中,減少對Redis的讀請求。

五、Redis規范

1、禁止使用非database 0

說明:

Redis-standalone架構,禁止使用Redis中的其他database。

原由:

  •  為以后業務遷移 Redis Cluster 保持兼容性;
  •  多個 database 用 select 切換時,更消耗CPU資源;
  •  更易自動化運維管理,如 scan/dbsize 命令只用于當database;
  •  部分 Redis Clients 因線程安全問題,不支持單實例多 database。

2、Key設計規范

按業務功能命名key前綴,防止key沖突覆蓋,推薦 用冒號分隔,例如,業務名:表名:id:,如 live:rank:user:weekly:1:202003。

Key的長度小于30個字符,Key名字本身是String對象,Redis硬編碼限制最大長度512MB。

在Redis緩存場景,推薦Key都設置TTL值,保證不使用的Key能被及時清理或淘汰。

Key設計時禁止包含特殊字符,如空格、換行、單雙引號以及其他轉義字符。

3、Value設計規范

單個Value大小必須控制10KB以內,單實例鍵個數過大,可能導致過期鍵的回收不及時。

set、hash、list等復雜數據類型,要盡量降低數據結構中的元素個數,建議個數不要超過1000。

4、關注命令時間復雜度

推薦使用O(1)命令,如get scard等。

O(N)命令關注N的數量,如下命令需要對N值在業務層面做控制。

  •  hgetall
  •  lrange
  •  smembers
  •  zrange

例如:smember命令時間復雜度為O(n),當n持續增加時,會導致 Redis CPU 持續飆高,阻塞其他命令的執行。

5、Pipeline使用

說明:Pipeline是Redis批量提交的一種方式,也就是把多個命令操作建立一次連接發給Redis去執行,會比循環的單次提交性能更優。

Redis客戶端執行一條命令分4個過程:發送命令 -> 命令排隊 ->命令執行 -> 返回結果。

常用的mget、mset命令,有效節約RTT(命令執行往返時間),但hgetall并沒有mhgetall,是不支持批量操作的。此時,需要使用Pipeline命令

例如:直播中臺項目中,需要同時查詢主播日、周、月排行榜,使用PIPELINE一次提交多個命令,同時返回三個榜單數據。

6、線上禁用命令

  •  禁止使用Monitor

    禁止生產環境使用monitor命令,monitor命令在高并發條件下,會存在內存暴增和影響Redis性能的隱患

  •  禁止使用Keys

    keys操作是遍歷所有的key,如果key非常多的情況下導致慢查詢,會阻塞其他命令。所以禁止使用keys及keys pattern命令。

    建議線上使用scan命令代替keys命令。

  •  禁止使用Flushall、Flushdb

           刪除Redis中所有數據庫中的所有記錄,并且該命令是原子性的,不會終止執行,一旦執行,將不會執行失敗。

  •  禁止使用Save

          阻塞當前redis服務器,直到持久化操作完成為止,對于內存較大的實例會造成長時間的阻塞

  •  BGREWRITEAOF

          手動AOF,手動持久化對于內存較大的實例會造成長時間的阻塞

  •  Config

          Config是客戶端配置方式,不利于Redis運維。建議在Redis配置文件中設置。

六、Redis監控

1、慢查詢

方法一:slowlog獲取慢查詢日志 

  1. 127.0.0.1:{port}> slowlog get 5  
  2. 1) 1) (integer) 47  
  3.    2) (integer) 1533810300  
  4.    3) (integer) 175833  
  5.    4) 1) "DEL"  
  6.       2) "spring:session:expirations:1533810300000"  
  7. 2) 1) (integer) 46  
  8.    2) (integer) 1533810300  
  9.    3) (integer) 117400  
  10.    4) 1) "SMEMBERS" 

方法二:更全面的慢查詢可以通過CacheCloud工具監控。

路徑:"應用列表"-點擊相關應用名-點擊"慢查詢"Tab頁。

點擊"慢查詢",重點關注慢查詢個數及相關命令。

2、監控Redis實例綁定的CPU核心使用率

由于Redis是單線程,重點監控Redis實例綁定的CPU核心使用率。

一般CPU資源使用率為10%左右,如果使用率高于20%時,考慮是否使用了RDB持久化。

3、Redis分片負載均衡

當前redis-cluster架構模式,3個master和3個Slave組成的集群,關注 Redis-cluster每個分片requests流量均衡情況;

通過命令獲取:

  1. redis-cli -p{port} -h{host} --stat 

一般情況,超過12W需要告警。

4、關注大key BigKey

通過Redis提供的工具,redis-cli定時掃描相應Redis大Key,進行優化。

具體命令如下: 

  1. redis-cli -h 127.0.0.1 -p {port} --bigkeys 

或 

  1. redis-memory-for-key -s {IP} -p {port} XXX_KEY 

一般超過10K為大key,需要重點關注,建議從業務層面優化。

5、監控Redis占用內存大小

Info memory 命令查看,避免在高并發場景下,由于分配的MaxMemory被耗盡,帶來的性能問題。

重點關注 used_memory_human 配置項對應的value值,增量過高時,需要重點評估。

七、總結

結合具體業務特性,合理評估Redis所需內存容量、選擇數據類型、設置單key大小,才能更好地服務于業務,為業務提供高性能的保障。

 

責任編輯:龐桂玉 來源: DBAplus社群
相關推薦

2024-05-06 00:00:00

緩存高并發數據

2024-04-01 08:05:27

Go開發Java

2017-07-17 15:46:20

Oracle并行機制

2023-03-13 13:36:00

Go擴容切片

2018-09-11 09:14:52

面試公司缺點

2025-04-29 10:17:42

2015-03-24 16:29:55

默認線程池java

2022-04-26 21:49:55

Spring事務數據庫

2025-07-08 09:09:32

MySQL類型

2019-12-12 14:32:26

SQL語句數據庫

2018-01-10 13:40:03

數據庫MySQL表設計

2019-10-30 14:44:41

Prometheus開源監控系統

2018-08-01 14:45:16

PHP編程語言

2025-04-15 02:00:00

API版本項目

2025-05-27 08:45:00

2019-09-25 15:30:15

2024-06-26 10:37:05

2018-04-08 22:16:21

2022-07-06 11:47:27

JAVAfor循環

2025-05-15 09:31:15

點贊
收藏

51CTO技術棧公眾號

外国电影一区二区| 色天堂在线视频| 亚洲欧洲日韩| 精品福利一区二区三区 | 亚洲精品久久久久久| 黄页网站在线观看免费| 久久久777精品电影网影网 | 国产乱色精品成人免费视频| 91精品国产自产拍在线观看蜜| 亚洲成人久久久| wwww.国产| wwww在线观看免费视频| 中文字幕乱码一区二区免费| 波多野结衣精品久久| 天天射天天干天天| 欧美特黄a级高清免费大片a级| 国产丝袜一区二区三区免费视频| 午夜天堂在线视频| 天堂中文最新版在线中文| 国产精品久久久久久久久免费桃花| 超碰在线观看97| 中文字幕一区二区三区免费看| 亚洲特色特黄| www亚洲欧美| 乐播av一区二区三区| 午夜日韩影院| 欧美少妇性性性| 国产免费观看高清视频| 成人日韩欧美| 中文字幕va一区二区三区| 精品欧美国产| 午夜老司机福利| 久久国内精品自在自线400部| 午夜欧美大片免费观看| 欧美成人精品欧美一级私黄| 日韩国产综合| 亚洲男人天堂2023| 久久久久亚洲AV成人无码国产| 欧美另类中文字幕| 欧美日韩国产影片| 亚洲欧美另类动漫| 日韩伦理在线| 天天综合天天综合色| 国产精品igao激情视频| 黄色成人在线观看| 国产精品乱码一区二区三区软件| 日韩jizzz| 国产午夜在线观看| 国产亚洲精品bt天堂精选| 久久偷窥视频| 青梅竹马是消防员在线| www国产精品av| 国产精品免费一区二区三区| 亚洲乱码精品久久久久..| 国产一区二区三区免费看| 成人精品视频久久久久| 91精品国产乱码久久久久| 麻豆久久久久久| 91精品国产综合久久久久久蜜臀 | 亚洲欧美在线x视频| 成人在线视频免费播放| 琪琪久久久久日韩精品| 日韩av网址在线| 一区二区三区免费在线观看视频 | 亚洲日本理论电影| 尤物网在线观看| 最新热久久免费视频| 超碰免费在线公开| 五月婷婷视频在线观看| 亚洲一卡二卡三卡四卡无卡久久 | 奇米精品一区二区三区在线观看 | 亚洲图片自拍偷拍| www污在线观看| 999福利在线视频| 精品久久久一区二区| 欧美 日韩精品| 国产韩日精品| 欧美一级在线视频| 女同性恋一区二区三区| 精品国产乱码久久久久久1区2匹| 最近2019中文字幕第三页视频| 在线观看美女av| 亚洲国产一区二区精品专区| 欧美亚洲日本黄色| 中文字幕在线2018| 国产a视频精品免费观看| 精品91免费| √新版天堂资源在线资源| 亚洲免费视频成人| 国产综合免费视频| 99视频有精品高清视频| 亚洲精品在线电影| 蜜桃av乱码一区二区三区| 亚洲第一偷拍| 欧美一级片久久久久久久| 一级特黄色大片| proumb性欧美在线观看| 伊人久久婷婷色综合98网| 国产精品一区hongkong| 欧美在线观看视频一区二区| 日本wwww色| 欧美理论在线播放| 久久免费视频观看| 91美女精品网站| 97国产一区二区| 国风产精品一区二区| 成人福利av| 日韩欧美国产一区在线观看| 91视频免费观看网站| 欧美在线网址| 国产精品青草久久久久福利99| 亚洲成人黄色片| 中文字幕精品在线不卡| 欧美牲交a欧美牲交| www.久久久.com| 伊人久久精品视频| 成年人免费看毛片| 国产麻豆视频精品| 天天久久人人| 欧美18—19sex性hd| 欧美成人aa大片| 国产大屁股喷水视频在线观看| 亚洲成人原创| 国产成人精品一区二区三区福利 | av一区二区在线观看| 久久人人看视频| 国产高清免费在线观看| 国产精品少妇自拍| 久久综合久久色| 国产无遮挡裸体免费久久| 美女精品久久久| 一级特黄aaaaaa大片| 亚洲国产精品成人综合| 成年人黄色片视频| 香蕉久久精品| 欧美在线不卡区| 香蕉视频国产在线| 亚洲国产乱码最新视频| 国产成人精品一区二区在线小狼| 国产精品久久久久久麻豆一区软件| 国产精品久久不能| 九九九伊在人线综合| 色综合中文字幕| 中文字幕在线免费看线人| 亚洲精品字幕| 精品久久久久久中文字幕动漫| 电影k8一区二区三区久久| 欧美mv日韩mv| 国产成人亚洲精品自产在线| 成人国产电影网| 3d动漫一区二区三区| 麻豆一区二区麻豆免费观看| 97国产真实伦对白精彩视频8| 高清毛片aaaaaaaaa片| 亚洲午夜三级在线| 欧美日韩一区二区区别是什么 | 亚洲一区二区三区不卡国产欧美| 香蕉视频xxxx| 好看不卡的中文字幕| 国产精品大全| 国产99在线观看| 亚洲欧美日韩一区二区三区在线| 麻豆精品久久久久久久99蜜桃| 久久这里只有精品首页| 能在线观看的av网站| 欧美伦理影院| 91精品啪aⅴ在线观看国产| 黄色在线视频网站| 日韩久久免费av| 日韩成人免费观看| 久久久久久久久久久99999| 国产精品人人爽人人爽| 午夜影院欧美| eeuss一区二区三区| 天堂av在线网| 在线国产精品播放| av加勒比在线| 精品久久久久久电影| 91网站免费视频| 激情av综合网| 性欧美大战久久久久久久| 蜜桃一区二区三区| 亚洲sss综合天堂久久| www.综合网.com| 亚洲免费精彩视频| 一道本无吗一区| 亚洲国产精品久久不卡毛片| 欧美18—19性高清hd4k| 国产在线精品不卡| 2018国产在线| 色乱码一区二区三区网站| 国产精品毛片va一区二区三区| 欧美xo影院| 欧美大片va欧美在线播放| 天天干天天操av| 91麻豆精品国产91久久久使用方法 | 巨人精品**| 国产精品免费久久久久影院| 性欧美video高清bbw| 亚洲精品影视在线观看| 国产人妖在线播放| 色噜噜久久综合| 黄色一级免费视频| 亚洲国产精品成人综合| 色婷婷精品久久二区二区密| 精品一区二区在线播放| 国产一区二区三区精彩视频 | 久久365资源| 91久久在线观看| 国产另类xxxxhd高清| 久久久久久久久久久成人| 3d成人动漫在线| 亚洲理论在线a中文字幕| 国产夫妻性生活视频| 在线观看免费亚洲| 亚洲欧美在线视频免费| 一区二区三区在线免费播放| 娇妻被老王脔到高潮失禁视频| 成人性色生活片免费看爆迷你毛片| 激情视频免费网站| 性色av一区二区怡红| 免费观看亚洲视频| 久久精品国产大片免费观看| 蜜桃视频在线观看成人| 狼人天天伊人久久| 成人免费视频网站| 国产午夜精品一区在线观看| 国产精品丝袜久久久久久高清 | 国产伊人精品在线| 国产精品一区二区av影院萌芽| 欧美激情欧美激情在线五月| 免费av网站在线观看| 少妇高潮久久久久久潘金莲| 国产资源在线观看| 亚洲精品中文字幕有码专区| 天天干天天草天天射| 亚洲国产精品推荐| 人妻视频一区二区三区| 欧美成人激情免费网| 99热这里只有精品3| 6080午夜不卡| 国产精品视频一区二区三区,| 欧美日韩中文字幕精品| 国产情侣呻吟对白高潮| 在线视频欧美精品| 少妇一级淫片日本| 欧美日韩美少妇| 一区二区国产欧美| 91精品中文字幕一区二区三区| 一区二区三区精| 91精品欧美综合在线观看最新| 国产又黄又大又爽| 91精品国产综合久久久蜜臀图片| 国产又粗又黄又爽视频| 欧美一区二区在线观看| 99久久国产免费| 欧美成人aa大片| 天天操天天插天天射| 日韩激情av在线免费观看| 涩爱av在线播放一区二区| 亚洲视频欧美视频| 自拍视频在线网| 欧美xxxx做受欧美| 超碰97免费在线| 欧美怡红院视频一区二区三区| 综合日韩av| 国产精品你懂得| 日本一区二区三区电影免费观看| 国产精品免费一区二区| 国产精品羞羞答答在线观看| 亚洲欧洲一区二区在线观看| 伊人青青综合网| 久久国产精品视频在线观看| 免费欧美日韩| 性猛交ⅹ×××乱大交| 国产一区二区三区高清播放| 性活交片大全免费看| 久久综合九色综合欧美亚洲| www.日本高清视频| 亚洲欧美一区二区三区国产精品 | 亚洲欧美日韩直播| 日本亚洲精品| 97视频在线观看亚洲| av免费在线一区| 3d精品h动漫啪啪一区二区| 精品成人自拍视频| 亚洲精美视频| 亚洲片区在线| 色乱码一区二区三区在线| 国产精品一区二区三区乱码| 国产ts丝袜人妖系列视频| 综合电影一区二区三区| 好吊妞视频一区二区三区| 欧美另类z0zxhd电影| 天天综合网在线观看| 久久精品国产视频| 校园春色亚洲| 亚洲综合最新在线| 激情综合网五月| 分分操这里只有精品| 蜜臀av性久久久久蜜臀av麻豆| 国产高潮失禁喷水爽到抽搐| 中文字幕乱码久久午夜不卡| 日韩欧美性视频| 日韩亚洲欧美高清| 国产裸舞福利在线视频合集| 久久久久久久久久久91| 91麻豆精品国产综合久久久| 欧美黑人xxxxx| 亚洲激情二区| 少妇愉情理伦片bd| 国产欧美精品一区| 中文字幕亚洲精品一区| 欧美一区二区福利在线| 成人动漫在线免费观看| 韩国一区二区电影| 麻豆国产一区| 在线一区高清| 日韩不卡在线观看日韩不卡视频| 一级黄色片毛片| 亚洲女同女同女同女同女同69| 精品久久久久久久久久久国产字幕 | 国产一区二区三区四区| 麻豆tv在线播放| 国产成人精品午夜视频免费| 久久久久久久久久97| 日本电影亚洲天堂一区| 色呦呦中文字幕| 欧美日本中文字幕| 国产精品亚洲综合在线观看| 相泽南亚洲一区二区在线播放| 久久久久久久欧美精品| 欧美深性狂猛ⅹxxx深喉| 亚洲在线视频免费观看| 国产成人精品毛片| 久久中文久久字幕| 日韩美女在线| 中文精品视频一区二区在线观看| 美美哒免费高清在线观看视频一区二区| 在线免费观看a级片| 亚洲mv在线观看| 婷婷av一区二区三区| 91超碰中文字幕久久精品| 久久综合五月婷婷| 日韩欧美视频网站| 97久久精品人人做人人爽| 日韩字幕在线观看| 日韩av网站导航| 超碰国产一区| 天堂一区二区三区| 久久超碰97中文字幕| 日本激情视频一区二区三区| 欧美卡1卡2卡| a视频在线免费看| 99国产视频在线| 精品动漫一区| 色天使在线视频| 日本韩国视频一区二区| 福利视频在线看| 91精品久久久久久久久青青| 久久久久国产精品| 三大队在线观看| 欧美日韩国产一区二区三区| 嫩草研究院在线观看| 国产精品九九九| 国产精品99久久精品| 免费在线观看日韩av| 亚洲成人免费av| 免费理论片在线观看播放老| 国产精品一二三在线| 欧美国产高潮xxxx1819| 色综合久久五月| 在线区一区二视频| 黄色网页在线播放| 国产日韩一区二区三区| 久久亚洲视频| 九九热视频在线免费观看| 日韩精品一区二区三区在线观看| 碰碰在线视频| 亚洲人成网站在线观看播放| 国产精品亚洲一区二区三区在线| 日韩欧美一区二区一幕| 中文字幕日韩电影| 99re8这里有精品热视频免费| 激情综合在线观看| 亚洲欧洲精品一区二区三区| 人人妻人人澡人人爽久久av| 国产精品久久久久久久久久久久| 综合av在线| 蜜桃传媒一区二区亚洲av| 欧美日韩和欧美的一区二区| а√天堂8资源中文在线| 亚洲精品成人自拍| 懂色av一区二区三区免费观看| 欧美一级淫片免费视频黄| 久热精品在线视频| 五月综合久久| 国产精品igao网网址不卡| 色综合久久综合| 18网站在线观看|