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

面對千萬級數(shù)據(jù)查詢,CK、ES、RediSearch誰才是王炸?

數(shù)據(jù)庫 新聞
本文從一個業(yè)務訴求觸發(fā),對「千萬量級數(shù)據(jù)中查詢 10W 量級的數(shù)據(jù)」介紹了不同的設計方案。

前言

在開發(fā)中遇到一個業(yè)務訴求,需要在千萬量級的底池數(shù)據(jù)中篩選出不超過 10W 的數(shù)據(jù),并根據(jù)配置的權重規(guī)則進行排序、打散(如同一個類目下的商品數(shù)據(jù)不能連續(xù)出現(xiàn) 3 次)。

下面對該業(yè)務訴求的實現(xiàn),設計思路和方案優(yōu)化進行介紹,對「千萬量級數(shù)據(jù)中查詢 10W 量級的數(shù)據(jù)」設計了如下方案:

  • 多線程 + CK 翻頁方案
  • ES scroll scan 深翻頁方案
  • ES + Hbase 組合方案
  • RediSearch + RedisJSON 組合方案

一、初版設計方案

整體方案設計為:

  • 先根據(jù)配置的「篩選規(guī)則」,從底池表中篩選出「目標數(shù)據(jù)」。
  • 在根據(jù)配置的「排序規(guī)則」,對「目標數(shù)據(jù)」進行排序,得到「結果數(shù)據(jù)」。

技術方案如下:

  • 每天運行導數(shù)任務,把現(xiàn)有的千萬量級的底池數(shù)據(jù)(Hive 表)導入到 Clickhouse 中,后續(xù)使用 CK 表進行數(shù)據(jù)篩選。
  • 將業(yè)務配置的篩選規(guī)則和排序規(guī)則,構建為一個「篩選 + 排序」對象 SelectionQueryCondition。
  • 從 CK 底池表取「目標數(shù)據(jù)」時,開啟多線程,進行分頁篩選,將獲取到的「目標數(shù)據(jù)」存放到 result 列表中。
//分頁大小  默認 5000
int pageSize = this.getPageSize();
//頁碼數(shù)
int pageCnt = totalNum / this.getPageSize() + 1;
List<Map<String, Object>> result = Lists.newArrayList();
List<Future<List<Map<String, Object>>>> futureList = new ArrayList<>(pageCnt);
//開啟多線程調用
for (int i = 1; i <= pageCnt; i++) {
//將業(yè)務配置的篩選規(guī)則和排序規(guī)則 構建為 SelectionQueryCondition 對象
SelectionQueryCondition selectionQueryCondition = buildSelectionQueryCondition(selectionQueryRuleData);
selectionQueryCondition.setPageSize(pageSize);
selectionQueryCondition.setPage(i);
futureList.add(selectionQueryEventPool.submit(new QuerySelectionDataThread(selectionQueryCondition)));
}
for (Future<List<Map<String, Object>>> future : futureList) {
//RPC 調用
List<Map<String, Object>> queryRes = future.get(20, TimeUnit.SECONDS);
if (CollectionUtils.isNotEmpty(queryRes)) {
// 將目標數(shù)據(jù)存放在 result 中
result.addAll(queryRes);
}
}
  • 對目標數(shù)據(jù) result 進行排序,得到最終的「結果數(shù)據(jù)」。

二、CK分頁查詢

在「初版設計方案」章節(jié)的第 3 步提到了「從 CK 底池表取目標數(shù)據(jù)時,開啟多線程,進行分頁篩選」。此處對 CK 分頁查詢進行介紹。

  • 封裝了 queryPoolSkuList 方法,負責從 CK 表中獲得目標數(shù)據(jù)。該方法內部調用了 sqlSession.selectList 方法。
public List<Map<String, Object>> queryPoolSkuList( Map<String, Object> params ) {
List<Map<String, Object>> resultMaps = new ArrayList<>();
QueryCondition queryCondition = parseQueryCondition(params);
List<Map<String, Object>> mapList = lianNuDao.queryPoolSkuList(getCkDt(),queryCondition);
if (CollectionUtils.isNotEmpty(mapList)) {
for (Map<String,Object> data : mapList) {
resultMaps.add(camelKey(data));
}
}
return resultMaps;
}


// lianNuDao.queryPoolSkuList
@Autowired
@Qualifier("ckSqlNewSession")
private SqlSession sqlSession;
public List<Map<String, Object>> queryPoolSkuList( String dt, QueryCondition queryCondition ) {
queryCondition.setDt(dt);
queryCondition.checkMultiQueryItems();
return sqlSession.selectList("LianNu.queryPoolSkuList",queryCondition);
}
  • sqlSession.selectList 方法中調用了和 CK 交互的 queryPoolSkuList 查詢方法,部分代碼如下。
<select id="queryPoolSkuList" parameterType="com.jd.bigai.domain.liannu.QueryCondition" resultType="java.util.Map">
select sku_pool_id,i
tem_sku_id,
skuPoolName,
price,
...
...
businessType
from liannu_sku_pool_indicator_all
where
dt=#{dt}
and
<foreach collection="queryItems" separator=" and " item="queryItem" open=" " close=" " >
<choose>
<when test="queryItem.type == 'equal'">
${queryItem.field} = #{queryItem.value}
</when>
...
...
</choose>
</foreach>
<if test="orderBy == null">
group by sku_pool_id,item_sku_id
</if>
<if test="orderBy != null">
group by sku_pool_id,item_sku_id,${orderBy} order by ${orderBy} ${orderAd}
</if>
<if test="limitEnd != 0">
limit #{limitStart},#{limitEnd}
</if>
</select>
  • 可以看到,在 CK 分頁查詢時,是通過 limit #{limitStart},#{limitEnd} 實現(xiàn)的分頁。

limit 分頁方案,在「深翻頁」時會存在性能問題。初版方案上線后,在 1000W 量級的底池數(shù)據(jù)中篩選 10W 的數(shù)據(jù),最壞耗時會達到 10s~18s 左右。

三、使用ES Scroll Scan優(yōu)化深翻頁

對于 CK 深翻頁時候的性能問題,進行了優(yōu)化,使用 Elasticsearch 的 scroll scan 翻頁方案進行優(yōu)化。

1、ES的翻頁方案

ES 翻頁,有下面幾種方案:

  • from + size 翻頁
  • scroll 翻頁
  • scroll scan 翻頁
  • search after 翻頁

圖片

對上述幾種翻頁方案,查詢不同數(shù)目的數(shù)據(jù),耗時數(shù)據(jù)如下表。

圖片

2、耗時數(shù)據(jù)

此處,分別使用 Elasticsearch 的 scroll scan 翻頁方案、初版中的 CK 翻頁方案進行數(shù)據(jù)查詢,對比其耗時數(shù)據(jù)。

如上測試數(shù)據(jù),可以發(fā)現(xiàn),以十萬,百萬,千萬量級的底池為例。

  • 底池量級越大,查詢相同的數(shù)據(jù)量,耗時越大。
  • 查詢結果 3W 以下時,ES 性能優(yōu);查詢結果 5W 以上時,CK 多線程性能優(yōu)。

四、ES+Hbase組合查詢方案

在「使用 ES Scroll Scan 優(yōu)化深翻頁」中,使用 Elasticsearch 的 scroll scan 翻頁方案對深翻頁問題進行了優(yōu)化,但在實現(xiàn)時為單線程調用,所以最終測試耗時數(shù)據(jù)并不是特別理想,和 CK 翻頁方案性能差不多。

在調研階段發(fā)現(xiàn),從底池中取出 10W 的目標數(shù)據(jù)時,一個商品包含多個字段的信息(CK 表中一行記錄有 150 個字段信息),如價格、會員價、學生價、庫存、好評率等。對于一行記錄,當減少獲取字段的個數(shù)時,查詢耗時會有明顯下降。如對 sku1的商品,從之前獲取價格、會員價、學生價、親友價、庫存等 100 個字段信息,縮減到只獲取價格、庫存這兩個字段信息。

如下圖所示,使用 ES 查詢方案,對查詢同樣條數(shù)的場景(從千萬級底池中篩選出 7W+ 條數(shù)據(jù)),獲取的每條記錄的字段個數(shù)從 32 縮減到 17,再縮減到 1個(其實是兩個字段,一個是商品唯一標識 sku_id,另一個是 ES 對每條文檔記錄的 doc_id)時,查詢的耗時會從 9.3s 下降到 4.2s,再下降到 2.4s。

圖片

從中可以得出如下結論:

  • 一次 ES 查詢中,若查詢字段和信息較多,fetch 階段的耗時,遠大于 query 階段的耗時。
  • 一次 ES 查詢中,若查詢字段和信息較多,通過減少不必要的查詢字段,可以顯著縮短查詢耗時。

下面對結論中涉及的 query 和 fetch 查詢階段進行補充說明。

1、ES查詢的兩個階段:query和fetch

在 ES 中,搜索一般包括兩個階段,query 和 fetch 階段。

  • query 階段

根據(jù)查詢條件,確定要取哪些文檔(doc),篩選出文檔 ID(doc_id)。

  • fetch 階段

根據(jù) query 階段返回的文檔 ID(doc_id),取出具體的文檔(doc)。

2、ES的filesystem cache

1)ES 會將磁盤中的數(shù)據(jù)自動緩存到 filesystem cache,在內存中查找,提升了速度。

2)若 filesystem cache 無法容納索引數(shù)據(jù)文件,則會基于磁盤查找,此時查詢速度會明顯變慢。

3)若數(shù)量兩過大,基于「ES 查詢的的 query 和 fetch 兩個階段」,可使用 ES + HBase 架構,保證 ES 的數(shù)據(jù)量小于 filesystem cache,保證查詢速度。

3、組合使用Hbase

在上文調研的基礎上,發(fā)現(xiàn)「減少不必要的查詢展示字段」可以明顯縮短查詢耗時。沿著這個優(yōu)化思路,參考相關資料設計了一種新的查詢方案。

  • ES 僅用于條件篩選,ES 的查詢結果僅包含記錄的唯一標識 sku_id(其實還包含 ES 為每條文檔記錄的 doc_id)。
  • Hbase 是列存儲數(shù)據(jù)庫,每列數(shù)據(jù)有一個 rowKey。利用 rowKey 篩選一條記錄時,復雜度為 O(1)。(類似于從 HashMap 中根據(jù) key 取 value)。
  • 根據(jù) ES 查詢返回的唯一標識 sku_id,作為 Hbase 查詢中的 rowKey,在 O(1) 復雜度下獲取其他信息字段,如價格,庫存等。

圖片

使用 ES + Hbase 組合查詢方案,在線上進行了小規(guī)模的灰度測試。在 1000W 量級的底池數(shù)據(jù)中篩選 10W 的數(shù)據(jù),對比 CK 翻頁方案,最壞耗時從 10~18s 優(yōu)化到了 3~6s 左右。

也應該看到,使用 ES + Hbase 組合查詢方案,會增加系統(tǒng)復雜度,同時數(shù)據(jù)也需要同時存儲到 ES 和 Hbase。

五、RediSearch+RedisJSON優(yōu)化方案

RediSearch 是基于 Redis 構建的分布式全文搜索和聚合引擎,能以極快的速度在 Redis 數(shù)據(jù)集上執(zhí)行復雜的搜索查詢。RedisJSON 是一個 Redis 模塊,在 Redis 中提供 JSON 支持。RedisJSON 可以和 RediSearch 無縫配合,實現(xiàn)索引和查詢 JSON 文檔。

根據(jù)一些參考資料,RediSearch + RedisJSON 可以實現(xiàn)極高的性能,可謂碾壓其他 NoSQL 方案。在后續(xù)版本迭代中,可考慮使用該方案來進一步優(yōu)化。

下面給出 RediSearch + RedisJSON 的部分性能數(shù)據(jù)。

1、RediSearch 性能數(shù)據(jù)

在同等服務器配置下索引了 560 萬個文檔 (5.3GB),RediSearch 構建索引的時間為 221 秒,而 Elasticsearch 為 349 秒。RediSearch 比 ES 快了 58%。

數(shù)據(jù)建立索引后,使用 32 個客戶端對兩個單詞進行檢索,RediSearch 的吞吐量達到 12.5K ops/sec,ES 的吞吐量為 3.1K ops/sec,RediSearch 比ES 要快 4 倍。同時,RediSearch 的延遲為 8ms,而 ES 為 10ms,RediSearch 延遲稍微低些。

圖片

2、RedisJSON 性能數(shù)據(jù)

根據(jù)官網的性能測試報告,RedisJson + RedisSearch 可謂碾壓其他 NoSQL。

  • 對于隔離寫入(isolated writes),RedisJSON 比 MongoDB 快 5.4 倍,比 ES 快 200 倍以上。
  • 對于隔離讀取(isolated reads),RedisJSON 比 MongoDB 快 12.7 倍,比 ES 快 500 倍以上。

在混合工作負載場景中,實時更新不會影響 RedisJSON 的搜索和讀取性能,而 ES 會受到影響。

  • RedisJSON 支持的操作數(shù)/秒比 MongoDB 高約 50 倍,比 ES 高 7 倍/秒。
  • RedisJSON 的延遲比 MongoDB 低約 90 倍,比 ES 低 23.7 倍。

此外,RedisJSON 的讀取、寫入和負載搜索延遲,在更高的百分位數(shù)中遠比 ES 和 MongoDB 穩(wěn)定。當增加寫入比率時,RedisJSON 還能處理越來越高的整體吞吐量。而當寫入比率增加時,ES 會降低它可以處理的整體吞吐量。

總結

本文從一個業(yè)務訴求觸發(fā),對「千萬量級數(shù)據(jù)中查詢 10W 量級的數(shù)據(jù)」介紹了不同的設計方案。對于「在 1000W 量級的底池數(shù)據(jù)中篩選 10W 的數(shù)據(jù)」的場景,不同方案的耗時如下:

  • 多線程 + CK 翻頁方案,最壞耗時為 10s~18s。
  • 單線程 + ES scroll scan 深翻頁方案,相比 CK 方案,并未見到明顯優(yōu)化。
  • ES + Hbase 組合方案,最壞耗時優(yōu)化到了 3s~6s。
  • RediSearch + RedisJSON 組合方案,后續(xù)會實測該方案的耗時。
責任編輯:張燕妮 來源: dbaplus社群
相關推薦

2022-12-28 08:29:12

CKESRediSearch

2024-10-21 17:51:25

2023-02-24 16:37:04

MySQL數(shù)據(jù)查詢數(shù)據(jù)庫

2021-01-07 07:46:34

MyBatis 數(shù)據(jù)量JDBC

2024-03-29 08:56:47

2025-10-27 02:15:00

2023-05-06 08:23:36

ChatGPT自然語言技術

2020-06-17 12:36:45

查詢數(shù)據(jù)Python

2018-07-11 20:07:06

數(shù)據(jù)庫MySQL索引優(yōu)化

2019-05-28 09:31:05

Elasticsear億級數(shù)據(jù)ES

2022-09-15 11:56:36

Javalua開發(fā)

2019-05-27 09:56:00

數(shù)據(jù)庫高可用架構

2019-11-27 09:48:04

數(shù)據(jù)ESHBase

2018-01-10 09:33:18

數(shù)據(jù)庫SQL查詢優(yōu)化Java Web

2020-08-20 14:49:22

數(shù)據(jù)查詢數(shù)據(jù)庫

2022-07-05 21:31:21

索引SQL分庫分表

2021-02-22 10:54:28

AI 數(shù)據(jù)人工智能

2013-09-08 22:40:38

EF Code Fir數(shù)據(jù)查詢架構設計

2015-04-07 13:40:00

大數(shù)據(jù)大數(shù)據(jù)安全現(xiàn)狀

2017-08-17 17:39:18

人工智能數(shù)據(jù)網絡安全
點贊
收藏

51CTO技術棧公眾號

国产又大又黑又粗| 国产精品免费在线视频| 三级在线观看视频| 91亚洲精品乱码久久久久久蜜桃| 69精品小视频| 2019男人天堂| 99re6热只有精品免费观看| 岛国av在线不卡| 亚洲美女搞黄| 色丁香婷婷综合久久| 日韩专区在线视频| 久久韩国免费视频| 人体私拍套图hdxxxx| 福利一区在线| 欧美日韩亚洲一区二| 亚洲bbw性色大片| 色wwwwww| 国产成人综合自拍| 国产精品美女免费| 久久狠狠高潮亚洲精品| 91日韩视频| 亚洲美女av在线播放| 亚洲熟女乱综合一区二区| 深夜视频一区二区| 精品高清一区二区三区| 超级碰在线观看| 国产69精品久久app免费版| 国产成人亚洲综合色影视| 国产精品一二三视频| 国产精品久免费的黄网站| 女主播福利一区| 播播国产欧美激情| 妺妺窝人体色WWW精品| 少妇高潮一区二区三区| 日韩午夜精品视频| www.国产视频.com| 少妇精品视频一区二区免费看| 亚洲精品午夜久久久| 亚洲欧洲精品一区| aaa日本高清在线播放免费观看| 91免费精品国自产拍在线不卡 | 国产精品111| 久久久久久久久丰满| 中文字幕一区二区三区电影| 久久精品国产亚洲av久| 日韩影视高清在线观看| 亚洲第一免费网站| 国产白袜脚足j棉袜在线观看| 成人污污www网站免费丝瓜| 欧美日韩另类一区| 伊人影院综合在线| 欧美爱爱视频| 制服.丝袜.亚洲.另类.中文| 天堂视频免费看| 久久国内精品| 69久久夜色精品国产69蝌蚪网| a在线观看免费视频| 久久亚洲资源中文字| 欧美三级韩国三级日本一级| 在线观看国产一级片| 日韩成人精品一区二区三区| 欧美日韩一区二区三区四区五区| 国内自拍视频网| 久久精品国产精品亚洲毛片| 欧美剧在线免费观看网站| 在线视频观看一区二区| 精品欧美视频| 亚洲国产福利在线| 中文字幕免费高清| 不卡在线一区| 欧美久久久精品| 青娱乐国产在线| 中文字幕免费高清| www.在线视频| 一区二区三区在线视频观看| 成人小视频在线观看免费| 久草免费在线色站| 日韩欧美在线视频日韩欧美在线视频| 男人舔女人下面高潮视频| 韩国精品视频在线观看| 欧美巨大另类极品videosbest | 三级在线免费观看| 牛牛精品在线视频| 一本久道中文字幕精品亚洲嫩| 亚洲免费看av| 91综合久久爱com| 亚洲毛片在线免费观看| 成人信息集中地| 伊人久久成人| 国产精品久久av| 国产特级aaaaaa大片| 99久久久久久| 新呦u视频一区二区| v片在线观看| 色综合天天性综合| 奇米777在线视频| 少妇久久久久| 麻豆国产va免费精品高清在线| 国产精品午夜影院| 国产一区二区三区美女| 久久婷婷人人澡人人喊人人爽| av国产在线观看| 午夜精品久久久久久久久久久| 黄色a级片免费| 久久天堂久久| 一区二区亚洲欧洲国产日韩| 男人与禽猛交狂配| 丝袜亚洲另类欧美| 高清国语自产拍免费一区二区三区| 无码国产色欲xxxx视频| **网站欧美大片在线观看| 国产九九九九九| 国产精品日本一区二区不卡视频 | 欧美精品九九99久久| 私密视频在线观看| 综合久久一区| 国产精自产拍久久久久久蜜| 婷婷久久久久久| 亚洲欧美日韩电影| 天美星空大象mv在线观看视频| 久久99国产精品久久99大师| 久久亚洲春色中文字幕| 波多野结衣在线观看视频| 成人丝袜高跟foot| dy888午夜| 香蕉久久一区| 国产一区二区日韩| 99精品在线播放| 国产suv精品一区二区6| 丰满女人性猛交| 成人做爰免费视频免费看| 亚洲欧美在线第一页| 国产午夜视频在线| 国产福利一区二区三区视频| 在线观看欧美一区| 日本黄色一区| 国产午夜精品一区二区三区 | 美脚丝袜一区二区三区在线观看| 手机av在线播放| 欧美一级欧美三级在线观看| 999精品久久久| 毛片av一区二区| 午夜精品一区二区在线观看 | 精品产品国产在线不卡| 爱看av在线入口| 精品1区2区在线观看| 久久久精品视频在线| 国产iv一区二区三区| 国产女人18毛片| 日韩最新av| 欧美国产日韩xxxxx| 亚洲精品97久久中文字幕| 樱花影视一区二区| 无码国产精品久久一区免费| 欧美日韩亚洲三区| 国产在线一区二区三区播放| 超碰99在线| 亚洲美女av网站| 亚洲无码精品一区二区三区| 国产欧美日韩综合| 91女神在线观看| 综合久久久久| 国产一区二区三区无遮挡| 91丝袜在线| 亚洲精品自产拍| 中文精品久久久久人妻不卡| 中文字幕一区二区三区在线不卡| 午夜免费一级片| 欧美激情91| 精品国产一区二区三| 欧美gay视频| 在线a欧美视频| 国产熟女一区二区三区五月婷| 亚洲线精品一区二区三区八戒| www.555国产精品免费| 日韩午夜黄色| 新呦u视频一区二区| 亚洲无线观看| 欧美在线日韩在线| 麻豆传媒视频在线观看免费| 91精品国产综合久久香蕉麻豆| 久久午夜鲁丝片午夜精品| 91蝌蚪porny成人天涯| 亚洲一级片网站| 欧美日韩在线大尺度| 久久综合久久久| 亚洲ww精品| 91国产美女视频| 91视频在线观看| 欧美mv和日韩mv的网站| 中文字幕精品无码一区二区| 中文字幕一区二区日韩精品绯色| 99热超碰在线| 精品一区二区影视| 欧美日韩在线中文| 小处雏高清一区二区三区| 久久99九九| 激情不卡一区二区三区视频在线| 26uuu另类亚洲欧美日本一| 日本高清视频在线播放| 亚洲电影在线看| 91精品人妻一区二区三区果冻| 亚洲福利视频一区| 日本猛少妇色xxxxx免费网站| 国产福利一区二区三区视频| 亚洲福利精品视频| 国产精品久久777777毛茸茸| 亚洲小说欧美另类激情| 免费短视频成人日韩| 高清视频在线观看一区| 久久精品国产福利| 国产97人人超碰caoprom| 天堂8中文在线| 日韩在线免费高清视频| 男人天堂亚洲二区| 亚洲电影免费观看高清| 国产又粗又长又黄| 欧美性大战久久久| 99久在线精品99re8热| 亚洲女女做受ⅹxx高潮| 妖精视频在线观看免费| 久久久久久麻豆| 伊人网综合视频| 国产成人自拍网| theporn国产精品| 日日摸夜夜添夜夜添精品视频| 国产视频一视频二| 伊人久久亚洲热| 午夜久久久久久久久久久| 日韩久久电影| 日韩久久不卡| 欧美日韩xxxx| 精品日本一区二区三区在线观看| 欧美欧美在线| 91久久大香伊蕉在人线| 亚洲狼人在线| 成人国产精品久久久| 国产精品久久久久久久久久齐齐| 日本久久久a级免费| 2022成人影院| 茄子视频成人在线| 自拍一区在线观看| 热99精品只有里视频精品| 在线天堂新版最新版在线8| 69久久夜色精品国产69| 极品在线视频| 欧美一级片一区| 性欧美xxx69hd高清| 日韩av毛片网| 欧美日韩在线精品一区二区三区激情综合 | 日韩精品免费在线播放| 日韩有码第一页| 日韩成人久久久| 青青青草网站免费视频在线观看| 日韩精品在线免费| 狠狠狠综合7777久夜色撩人| 夜夜嗨av一区二区三区四区| 成年人视频网站在线| 日韩一二三在线视频播| 搞黄网站在线观看| 色中色综合影院手机版在线观看| 免费网站在线观看人| 97国产suv精品一区二区62| 久久青草伊人| 国产成人精品视| 精品福利在线| 成人在线视频网址| 国产精东传媒成人av电影| 狠狠色综合网站久久久久久久| 欧美人与动xxxxz0oz| 日本亚洲欧洲精品| 国产精品久久久久久麻豆一区软件| 三上悠亚免费在线观看| 精品成人在线| 一级黄色香蕉视频| 激情六月婷婷久久| 亚洲成av人片在线观看无| 久久这里只有精品6| 在线视频这里只有精品| 亚洲图片一区二区| 四虎影院在线免费播放| 7777精品伊人久久久大香线蕉经典版下载 | 一卡二卡3卡四卡高清精品视频| **女人18毛片一区二区| 成人免费毛片在线观看| 日韩中文字幕区一区有砖一区| 手机av在线网| 99久久伊人网影院| 国产成人在线网址| 午夜免费久久看| 中文字幕乱码视频| 日韩免费视频一区二区| 激情小视频在线| 操91在线视频| 亚洲日本在线观看视频| 91在线短视频| 日本午夜一区| 国产精品专区在线| 精品在线一区二区| 成年人在线观看av| 亚洲久本草在线中文字幕| 日日摸天天添天天添破| 日韩三级免费观看| 国产女人在线观看| 国产69精品久久久久99| 日韩免费在线电影| 欧美性天天影院| 国产精品成人一区二区网站软件| 成人久久久久久久久| 国产福利视频一区二区三区| 永久免费观看片现看| 精品免费在线视频| 国产成人a人亚洲精品无码| 夜夜躁日日躁狠狠久久88av| 91九色国产在线播放| 亚洲a中文字幕| av伊人久久| 国产又黄又猛视频| www.av精品| 国产真实乱偷精品视频| 欧美男生操女生| 川上优的av在线一区二区| 91sa在线看| 高清欧美性猛交xxxx黑人猛| 天天综合五月天| 蜜桃久久久久久久| 日韩免费成人av| 色综合av在线| 青草久久伊人| 2019中文在线观看| 极品束缚调教一区二区网站| av一区二区三区免费观看| 精品一区二区三区免费视频| 特级西西人体高清大胆| 欧洲av在线精品| 久久这里精品| 国产成人精品在线观看| 婷婷成人影院| 久章草在线视频| 国产亚洲一区二区在线观看| 天堂中文在线网| 国产偷亚洲偷欧美偷精品| 黄色漫画在线免费看| 精品免费一区二区三区蜜桃| 亚洲激情亚洲| 99久久人妻无码中文字幕系列| 亚洲国产sm捆绑调教视频| 国产成人手机在线| 久久免费少妇高潮久久精品99| h视频久久久| 你真棒插曲来救救我在线观看| 成人国产视频在线观看| 国产乡下妇女做爰视频| 日韩精品在线第一页| av电影一区| 天堂精品一区二区三区| 九九九久久久精品| 丝袜 亚洲 另类 欧美 重口| 日韩写真欧美这视频| 波多野结衣久久| 免费一区二区三区在在线视频| 久久高清国产| 国产一区二区三区四区在线| 欧美日韩高清在线播放| av文字幕在线观看| 国产精品久久一区二区三区| 日韩午夜高潮| 青青青手机在线视频| 91精品国产91久久久久久一区二区| 日本精品600av| 久久99精品久久久久久水蜜桃| 秋霞电影网一区二区| 欧美性x x x| 亚洲成av人影院在线观看| 欧美日韩123区| 中文字幕综合在线观看| 国产成人精品亚洲777人妖| 日韩欧美一区二区一幕| 尤物99国产成人精品视频| 精品一区91| 精品国产免费av| 国产精品夫妻自拍| 黄色一级a毛片| 国产精品扒开腿爽爽爽视频 | 国产精品免费入口| 国产精品视频免费| 丰满人妻av一区二区三区| 日本精品久久久| 伊人色**天天综合婷婷| 女~淫辱の触手3d动漫| 制服丝袜国产精品| 日本蜜桃在线观看视频| 一区不卡字幕| 久久午夜免费电影| 国产精品怡红院| 青青a在线精品免费观看| 伊人久久大香线蕉精品组织观看| 粉嫩av蜜桃av蜜臀av| 日韩亚洲国产中文字幕欧美| 成人精品电影在线|