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

結構梳理:大并發下,你的數據庫表可能成為性能隱患

數據庫 其他數據庫
對于這種需要依賴大量數據統計得出的結論數據,不建議對外提供實時統計計算服務,因為這種查詢會嚴重拖慢數據庫,影響系統的穩定性。

用戶中心是典型的讀多寫少系統,我們的許多系統也屬于這種類型。這類系統通過引入緩存技術可以顯著提升性能。在流量增大時,用戶中心通常成為系統優化的首要模塊,因為它通常與多個系統有高度耦合。因此,梳理和優化該模塊對于整個系統的高并發改造至關重要。

我們將專注于優化讀多寫少的用戶中心數據整理,使其更容易進行緩存。數據梳理是一項關鍵技能,對于任何需要高并發改造的老系統,建議先對數據庫表進行梳理。老系統在使用數據庫時,通常存在諸多問題,例如實體表字段過多、表查詢維度和用途多樣、表關系混亂,甚至存在m:n關系。這些問題都會增加緩存改造的難度,嚴重影響改造進度。

通過從數據結構入手,先在特定場景下進行優化,再實施緩存技術,將會極大簡化后續的高并發改造。因此,梳理數據庫結構是進行系統高并發改造的重要一步。

精簡數據會有更好的性能

圖片圖片

用戶中心的主要功能是維護用戶信息、用戶權限和登錄狀態,它保存的數據大部分都屬于讀多寫少的數據。用戶中心常見的優化方式主要是將用戶中心和業務徹底拆開,不再與業務耦合,并適當增加緩存來提高系統性能。

我舉一個簡單的例子:當時整表內有接近 2000 萬的賬號信息,我對表的功能和字段進行了業務解耦和精簡,讓用戶中心的賬戶表里只會保留用戶登陸所需的賬號、密碼:

CREATE TABLE `account` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`account` char(32) COLLATE utf8mb4_unicode_ci NOT NULL,
`password` char(32) COLLATE utf8mb4_unicode_ci NOT NULL,
`salt` char(16) COLLATE utf8mb4_unicode_ci NOT NULL,
`status` tinyint(3) NOT NULL DEFAULT '0',
`update_time` int(10) NOT NULL,
`create_time` int(10) NOT NULL,
  PRIMARY KEY (`id`),
UNIQUE KEY `login_account` (`account`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

數據庫是系統的核心,如果它表現緩慢,所有業務都會受到影響,整個服務的性能很難超過核心數據庫的上限。精簡賬號表字段的核心在于:更短的數據長度在吞吐、查詢、傳輸上更快,管理和緩存也更方便。精簡后的表字段更少,業務用途單一,通常只用于檢測用戶登錄賬號密碼是否正確,而不涉及其他訪問或范圍查詢。這種精簡的表在性能上表現出色,即使存儲了兩千萬個賬號,整體表現依然優異。

不過,需要注意的是,雖然精簡數據可以提高響應速度,但過度精簡并不可取。如果表字段缺乏適當的冗余,會導致業務實現復雜化。例如,如果賬戶表精簡掉用戶昵稱和頭像字段,那么每次登錄都需要額外讀取一次數據庫,并始終關注緩存同步更新;相反,如果保留這些字段,登錄驗證后就可以直接進行其他業務操作,無需再次查詢數據庫。由此可見,精簡幾個字段往往會導致額外的數據庫查詢,同時增加緩存同步負擔,得不償失。因此,我們需要在“更多字段”和“更少職能”之間找到合理的平衡點。

數據的歸類及深入整理

除了通過精簡表的職能來提高表的性能和維護性外,我們還可以針對不同類型的表做不同方向的緩存優化,如下圖用戶中心表例子:

圖片圖片

數據主要分為四種類型:實體對象主表、輔助查詢表、實體關系和歷史數據。不同類型的數據需要采用不同的緩存策略。如果將一些職能不清晰的數據強行放入緩存,使用時可能會遇到許多復雜問題。

我曾遇到一個典型的錯誤做法:將用戶來訪記錄這種持續增長的操作歷史放入緩存。這個記錄的主要用途是統計好友和陌生人來訪的數量,但它同時保存了用戶的好友關系標志。這意味著,一旦用戶關系發生變化,這些歷史數據就需要同步更新,否則好友關系將變得“過時”。

圖片圖片

將歷史記錄和需要實時更新的好友狀態混在一起,顯然不合理。如果我們做歸類梳理的話,應該拆分成三個職能表,分別進行管理:歷史記錄表,不做緩存,僅展示最近幾條,極端情況臨時緩存;好友關系(緩存關系,用于統計有幾個好友);來訪統計數字(臨時緩存)。

數據實體表

首先來看用戶賬號表,這是一個實體表,通常作為主表,每行數據代表一個獨立的實體,并且每個實體都有一個獨立且唯一的 ID 作為標識。在這里,“實體”指的是一個抽象事物,而具體字段表示該實體的實時狀態屬性。這個 ID 在高并發環境下的緩存中至關重要,用戶登錄后可以通過自己的賬戶 ID 快速查找對應的訂單、昵稱、頭像和好友列表信息。如果業務主要通過這種方式查找,性能會非常好,且非常適合長期緩存。

然而,除了按 ID 查找外,還有一些業務需要通過組合條件進行查詢,比如:7 月 4 日購買耳機的訂單有哪些?在天津的新注冊用戶有多少?老用戶的數量又是多少?昨天是否有用戶名以 rick 開頭的賬戶注冊?這類基于條件的查詢和統計數據并不適合做緩存,因為高并發服務中的緩存數據通常是能通過 Hash 快速匹配的,而帶條件查詢的統計數據容易出現不一致性和數據量不確定性,導致性能不穩定。此外,如果相關數據發生變化,我們也很難確定應該同步更新哪些緩存。

因此,這類數據更適合存放在關系數據庫中,或者提前計算結果并放入緩存中進行使用,并定期更新。

除了組合條件查詢難以緩存外,像 count()、sum() 這類需要實時計算的操作也存在更新不及時的問題,只能定期緩存匯總結果,避免頻繁查詢。因此,在后續開發中,我們應盡量避免使用數據庫來進行實時計算。

回到實體表的設計,這類表通常針對業務的主要查詢需求而設計。如果我們偏離這個設計用途來查詢表,性能往往會大打折扣。比如,用于賬戶登錄的表,當我們用它來查詢昵稱中是否包含“極客”時,需要額外增加對“用戶昵稱”字段的索引。這類 LIKE 查詢會掃描全表數據進行計算,并且若查詢頻率較高,可能會嚴重影響其他用戶的登錄體驗。同時,增加的昵稱索引會降低該表插入數據的性能,這也是為何在后臺系統中,通常會單獨分出一個從庫,做特殊的索引查詢。

在高并發場景中,為了優化讀取性能,緩存通常用于保存實體數據。常見的方法是通過“key 前綴 + 實體 ID”獲取數據(例如 user_info_9527),然后利用緩存中的關聯關系進一步獲取指定數據。例如,通過 ID 直接獲取用戶好友關系的 key,從而獲取用戶好友 ID 列表。通過這種方式,我們可以在 Redis 中實現用戶的常用關聯查詢操作。

總體來說,實體數據是我們業務的主要承載體,當我們找到實體主體的時候,就可以根據這個主體在緩存中查到所有和它有關聯的數據,來服務用戶。現在我們來稍微總結一下,我們整理實體表的核心思路主要有以下幾點:精簡數據總長度;減少表承擔的業務職能;減少統計計算查詢;實體數據更適合放在緩存當中;盡量讓實體能夠通過 ID 或關系方式查找;減少實時條件篩選方式的對外服務。

實體輔助表

為了精簡數據并便于管理,我們常常根據不同用途對主表進行拆分,常見的方式是縱向表拆分。縱向表拆分的主要目的有兩個:一是將使用頻率較低的數據摘出來,以精簡主表的職能;二是輔助表的主鍵通常與主表一致或通過記錄 ID 關聯,它們之間的關系多為 1:1。輔助表中保存的數據一般在主要業務查詢中不使用,僅在特定場景下取用,比如用戶賬號表用于用戶登錄,而輔助信息表保存家庭住址、省份、微信和郵編等不常展示的信息。

輔助表的另一個作用是輔助查詢。當原有業務數據結構無法滿足其他維度的實體查詢時,可以通過輔助表實現。例如,一個以“教師”為主體的表,通常根據“當前教師 ID + 條件”查詢學生和班級數據。但當系統從學生的角度出發時,需要頻繁以“學生和班級”為基礎查詢教師數據,這時就需先查出“學生 ID”或“班級 ID”,再查找教師 ID,既不方便又低效。因此,可以將學生和班級數據拆分到一個輔助表中,方便這些查詢。

值得提醒的是,輔助表和主體表之間可能存在 1或 m的關系,因此我們需要定期整理和核對數據,以確保冗余數據的同步和完整。然而,維護非 1:1 數據關系的輔助表并不容易,容易導致數據不一致或延遲,有時還需刷新所有相關關系的緩存,既耗時又費力。通過腳本定期執行數據核對,找出差異會更加簡單。此外,為提高查詢效率,我們常常在多個表中冗余同一數據,數據更新時需同步更新冗余表和緩存。

行業內也常用一些開源搜索引擎輔助進行類似的關系業務查詢,例如使用 ElasticSearch 進行商品檢索,使用 OpenSearch 進行文章檢索等。這些可橫向擴容的服務能夠顯著減輕數據庫查詢壓力,但其唯一缺點是很難實現數據的強一致性,因此需要人工檢測和核對兩個系統的數據。

實體關系表

接下來我們再談談實體之間的關系。

圖片圖片

對于關系型數據,我強烈建議使用一個額外的關系表來記錄實體間的 m

關聯關系,這樣兩個實體無需相互依賴,更容易維護。對于 1:n或 m:n關系的數據緩存,建議提前評估可能涉及的數據量,防止緩存數據量過大影響性能。一般情況下,我們會用主體的 ID 作為緩存 key,value 中保存多個關聯 ID 以記錄數據間的關系。對于訪問頻率特別高的業務緩存,可以將數據按關系提前組織好,整體緩存,以便快速查詢和使用。

需要注意的是,這種關聯數據往往會產生多級依賴,使得數據整理非常復雜。當相關表或查詢條件更新時,我們必須及時同步緩存中的數據。因此,多級依賴在高并發系統中很難維護,通常會降低一致性要求以滿足高并發需求。

總結一下,哪些數據適合做緩存?通常來說,能夠通過 ID 精確匹配的數據實體非常適合緩存;通過 String、List 或 Set 指令形成的多條 value 數據結構適合用于(1:1、1:n、m:n)輔助或關系查詢。另外,雖然 Hash 結構適合用于實體表的屬性和狀態存儲,但 Hgetall 指令性能較差,容易導致緩存卡頓,不建議使用。

圖片圖片

動作歷史表

一般來說,動作歷史數據表用于記錄數據實體的動作或狀態變化過程,比如用戶登錄日志、積分消費或獲取記錄等。這類數據隨著時間不斷增長,主要用于記錄和展示近期的信息,不建議將其用于業務的實時統計計算。

你可能對這個建議有疑問,那我舉個例子來說明:假設我們有一個積分領取記錄表,包含 2000 萬條記錄,現在需要統計某個用戶領取 ID 為 15 的商品的數量。這種情況下,如果直接對這張表進行實時統計計算,不僅效率低,還會增加數據庫的負擔。因此,不建議將這類歷史數據用于高頻的實時統計。

CREATE TABLE `user_score_history` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(10) NOT NULL DEFAULT '',
`action` varchar(32) NOT NULL,
`action_id` char(16) NOT NULL,
`status` tinyint(3) NOT NULL DEFAULT '0'
`extra` TEXT NOT NULL DEFAULT '',
`update_time` int(10) NOT NULL DEFAULT '0',
`create_time` int(10) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
KEY uid(`uid`,`action`),
) ENGINE=InnoDB AUTO_INCREMENT=1
DEFAULT CHARSET=utf8mb4 
COLLATE=utf8mb4_unicode_ci;


select uid, count(*) as action_count, product_id 
from user_score_history 
where uid = 9527 and action = "fetch_gift"
and action_id = 15 and status = 1
group by uid,action_id

可以看出,這類表的數據量非常大,記錄了大量的實體操作歷史,并且字段和索引并不適合進行這種查詢。當我們計算某個用戶領取 ID 為 15 的商品數量時,只能先通過 UID 索引過濾數據以縮小范圍。然而,即便這樣篩選,數據量依然龐大。隨著時間的推移,這張表的數據會不斷增長,查詢效率也會逐漸降低。

因此,對于這種需要依賴大量數據統計得出的結論數據,不建議對外提供實時統計計算服務,因為這種查詢會嚴重拖慢數據庫,影響系統的穩定性。即使使用緩存來臨時保存統計結果,這也只是權宜之計。更好的方案是借助其他表來完成這類需求,比如設置一個實時查詢領取記錄表,以獲得更高的查詢效率。

智能總結:

1. 數據梳理是關鍵技巧,對表進行梳理可解決老系統在高并發改造中的問題。

2. 平衡“更多字段”和“更少職能”可提高性能,避免過度設計。

3. 對不同類型數據進行歸類處理,拆分成不同表管理,可提高系統性能和維護性。

4. 實體數據適合放在緩存中,通過ID或關系方式查找,減少實時條件篩選對外服務。

5. 輔助表數據不適合放在緩存中,維護一致性較為麻煩,需要定期核對和同步更新。

6. 實體關系表的緩存管理復雜,需降低一致性要求以滿足高并發情況。

7. 根據ID能夠精準匹配的數據實體適合做緩存,而通過String、List或Set指令形成的有多條value的結構適合做輔助或關系查詢。

8. Hash結構適合做實體表的屬性和狀態,但Hgetall指令性能并不好,不建議使用。

責任編輯:武曉燕 來源: 二進制跳動
相關推薦

2020-02-07 10:06:34

高管面試管理者

2016-09-01 16:37:24

2010-09-02 14:54:08

2016-09-28 00:32:46

2021-04-12 16:34:00

數字貨幣加密貨幣區塊鏈

2022-05-04 00:07:37

SaaS網絡安全云安全

2018-09-20 11:09:42

量子計算機芯片AI

2023-09-13 14:22:51

RedCap物聯網

2022-10-26 09:05:52

元宇宙

2016-01-04 11:12:56

LiFiWi-Fi

2011-11-01 10:21:16

UbuntuAndroid

2015-12-01 11:29:20

螞蟻金服互聯網巨頭

2013-09-02 09:57:39

私有云混合云

2015-09-02 09:37:26

微軟Edge瀏覽器

2015-10-16 15:34:23

2021-09-02 13:26:40

區塊鏈云計算物聯網

2020-09-16 08:22:32

甲骨文TikTok微軟

2017-12-03 13:36:09

網絡IPv6

2022-11-30 14:23:09

2011-07-15 16:57:43

AJAX
點贊
收藏

51CTO技術棧公眾號

成人在线免费观看视频| 美女高潮在线观看| 国产麻豆成人精品| 8050国产精品久久久久久| 9.1成人看片免费版| 久久亚洲国产精品尤物| 亚洲午夜久久久| 日韩欧美在线电影| 性做久久久久久久| 丝袜美腿一区二区三区| 欧美另类交人妖| 无码人妻aⅴ一区二区三区| 欧美爱爱视频| 疯狂做受xxxx欧美肥白少妇 | 私拍精品福利视频在线一区| 欧美三级日韩三级国产三级| 国产欧美日韩网站| 欧美三级理伦电影| 91网站在线播放| 亚洲一区国产精品| 国产suv精品一区二区33| 欧美日韩国产在线一区| 亚洲图片在区色| 亚洲av成人片色在线观看高潮| 国产精品麻豆成人av电影艾秋| 亚洲一二三区不卡| 欧美日韩在线免费观看视频| 日本啊v在线| 国产98色在线|日韩| 国产精品久久久久久中文字| 国产精品一区二区6| 欧美暴力喷水在线| 色777狠狠综合秋免鲁丝| 国产三级国产精品| 粉嫩精品导航导航| 欧美日韩亚洲综合一区二区三区| 欧美日韩国产精品激情在线播放| 青草在线视频在线观看| 国产精品网站导航| 日韩不卡av| 日本中文字幕电影在线观看 | 精品一区在线播放| 国产剧情精品在线| 麻豆一区二区99久久久久| 日本午夜精品理论片a级appf发布| 免费在线一级片| 99视频精品全部免费在线视频| 亚洲欧美一区二区三区情侣bbw | 天堂在线资源视频| 欧美三区四区| 欧美色图第一页| 午夜两性免费视频| 少妇精品视频一区二区免费看| 欧美日韩中文字幕| 男人用嘴添女人下身免费视频| 污视频网站在线免费| 日韩一区欧美小说| 欧美一级黄色录像片| 超碰在线免费播放| 一二三四社区欧美黄| 最近免费观看高清韩国日本大全| 国产成人在线视频免费观看| 亚洲女人小视频在线观看| 咪咪色在线视频| caopo在线| 亚洲综合激情小说| 国产av麻豆mag剧集| 在线天堂中文资源最新版| 日本韩国一区二区| 日本久久久久久久久久久久| 巨大黑人极品videos精品| 在线播放一区二区三区| 亚洲高清视频免费| 精品久久ai| 亚洲老司机av| 欧美午夜激情影院| 91精品1区| 欧美激情性做爰免费视频| 五月婷婷激情网| 可以看av的网站久久看| 国产日本欧美一区二区三区| 国产精品视频无码| 国产99精品在线观看| 久久福利电影| 在线免费观看的av网站| 一区二区三区在线观看视频| 阿v天堂2017| 免费在线观看一区| 日韩三级在线观看| 国产 中文 字幕 日韩 在线| 精品国产美女| 久久97精品久久久久久久不卡| 97超碰人人干| 激情欧美一区二区| 精品无人区一区二区三区| 中文日本在线观看| 午夜影院久久久| 亚洲一级片网站| 白嫩白嫩国产精品| 最近2019中文字幕大全第二页 | 在线免费看黄色片| 久久91成人| 久久夜色精品国产亚洲aⅴ| 精品一区在线视频| 免费成人美女在线观看| 成人免费视频网站入口| 黄色小视频在线观看| |精品福利一区二区三区| 777久久久精品一区二区三区| 成人黄色视屏网站| 精品盗摄一区二区三区| 人妻互换一区二区激情偷拍| 99精品国产一区二区青青牛奶| 国产精品一区二区久久久| 韩国av免费在线观看| 日本一区二区免费在线观看视频| 成年丰满熟妇午夜免费视频 | 欧美性猛交xxxx黑人| 久久久精品视频国产| 天堂av一区二区三区在线播放| yw.139尤物在线精品视频| 手机看片久久久| 成人免费毛片嘿嘿连载视频| 一区二区三区欧美在线| 成人av观看| 精品va天堂亚洲国产| 亚洲一区 欧美| 在线综合欧美| 国产精品国产精品国产专区蜜臀ah| 国产福利小视频在线观看| 无码av免费一区二区三区试看| 亚洲精品午夜在线观看| 美日韩中文字幕| 97av视频在线| 天堂在线观看av| 亚洲综合在线第一页| 人人爽人人爽av| 日韩理论电影| 国产精品久久久久av免费| 欧美色图另类| 欧美日韩综合视频| 在线xxxxx| 综合久久久久| 亚洲影院色无极综合| 成人av电影观看| 欧美午夜免费电影| 色欲av无码一区二区三区| 99精品热视频只有精品10| 99免费在线观看视频| 国产精品一区二区三区视频网站| 在线免费不卡电影| 人妻av无码一区二区三区| 久久午夜激情| 欧美福利精品| 裤袜国产欧美精品一区| 日韩成人在线免费观看| 日韩 欧美 综合| 懂色av一区二区三区蜜臀| 国产青草视频在线观看| 最新精品在线| 97免费视频在线播放| 五月激情婷婷综合| 91黄色免费网站| 国产精品www爽爽爽| 麻豆91精品视频| 中文字幕中文字幕在线中一区高清| 免费一级欧美在线观看视频| 视频直播国产精品| 亚洲一级黄色大片| 亚洲男女毛片无遮挡| 91性高潮久久久久久久| 欧美日韩岛国| 久草精品电影| 免费观看成人性生生活片 | 国产丝袜视频在线播放| 亚洲精品白浆高清久久久久久| 四虎精品永久在线| 亚洲国产岛国毛片在线| 午夜免费一级片| 国产亚洲精品自拍| 亚洲国产婷婷香蕉久久久久久99| 激情不卡一区二区三区视频在线 | 天堂av中文在线观看| 一区二区三区高清国产| 国产乱码精品一区二三区蜜臂| 亚洲综合在线免费观看| 精品国产成人亚洲午夜福利| 黄色小说综合网站| 91免费视频网站在线观看| 日韩欧美高清在线播放| 国产精品欧美久久| 成人精品国产亚洲| 久久久亚洲精品视频| av在线免费观看网| 精品国产免费一区二区三区四区 | 日韩欧美美女一区二区三区| 日韩少妇高潮抽搐| 国产精品久久久久久久浪潮网站| 国产免费无码一区二区| 日本三级亚洲精品| 蜜桃传媒一区二区三区| 日韩av在线播放网址| 国产日韩欧美精品| avtt久久| 国产精品爱啪在线线免费观看| 性欧美video高清bbw| 亚洲色图综合网| 日韩在线观看视频网站| 欧美三电影在线| 久久久国产精品成人免费| 亚洲精品免费一二三区| 日本欧美一区二区三区不卡视频| 盗摄精品av一区二区三区| 在线观看日本一区二区| 国产麻豆综合| 免费拍拍拍网站| 欧美+日本+国产+在线a∨观看| 日韩欧美精品一区二区| 欧美1区2区3区4区| 成人激情av| 精品午夜视频| 国产欧美亚洲精品| 韩国精品主播一区二区在线观看| 国内精品400部情侣激情| av免费在线免费观看| 中文字幕一区电影| 成人高潮成人免费观看| 亚洲欧洲在线免费| 亚洲欧美丝袜中文综合| 亚洲国产成人久久| 亚洲爆乳无码一区二区三区| 91精品国产乱码| 在线视频你懂得| 欧美亚洲动漫制服丝袜| 中文字幕在线日本| 色综合久久中文字幕综合网| 国产性xxxx高清| 午夜激情一区二区三区| 日本特黄特色aaa大片免费| 亚洲精品成人悠悠色影视| 午夜三级在线观看| 最新国产成人在线观看| 天天色天天综合| 亚洲图片激情小说| 成人免费视频国产免费观看| 日韩一区在线看| 国产suv一区二区三区| 亚洲色图丝袜美腿| 亚洲熟女www一区二区三区| 亚洲精品欧美二区三区中文字幕| 黄色三级生活片| 欧美激情综合网| 国产白丝一区二区三区| 国产精品对白交换视频| 中文字幕观看av| 亚洲男人电影天堂| 久久久精品99| 精品免费在线观看| 婷婷激情五月网| 欧美在线观看视频一区二区| 中文字幕男人天堂| 91精品国产入口在线| 亚洲第一第二区| 日韩激情在线视频| av电影在线观看| 欧美第一黄色网| 欧美激情网站| 国产高清在线不卡| 97色婷婷成人综合在线观看| 99国精产品一二二线| 久久动漫网址| 天堂av一区二区| 亚洲综合自拍| 鲁一鲁一鲁一鲁一色| 久久亚洲风情| www.桃色.com| 91在线观看免费视频| 日韩一级av毛片| 一区二区三区蜜桃| 亚洲熟妇无码乱子av电影| 欧美日韩国产精品成人| 亚洲精品久久久久久动漫器材一区 | 最新日韩av在线| 男人的天堂一区二区| 欧美日韩综合不卡| 国模无码一区二区三区| 亚洲天堂视频在线观看| 欧美xxxx做受欧美88bbw| 欧美自拍大量在线观看| 91成人app| 欧美大陆一区二区| 亚洲欧美在线专区| 欧美视频第一区| 精品一区二区三区在线播放| 岛国av免费观看| 中文字幕中文乱码欧美一区二区| 国产精品成人aaaa在线| 欧美日韩一区视频| 秋霞av鲁丝片一区二区| 日韩中文av在线| 一级毛片久久久| yellow视频在线观看一区二区 | 99国内精品久久久久| 精品视频一区在线| 午夜国产一区| 手机免费av片| 久久久久99精品国产片| 久久久99精品| 欧美美女激情18p| 国产一二三在线观看| 国产做受高潮69| 亚洲欧洲一二区| 日韩动漫在线观看| 在线亚洲自拍| 大尺度在线观看| 亚洲激情第一区| 91亚洲精品国偷拍自产在线观看| 日韩成人激情在线| segui88久久综合| 3d动漫啪啪精品一区二区免费| 日韩av密桃| 少妇黄色一级片| 国产亚洲精品7777| 伊人久久综合视频| 亚洲成人久久网| 欧美黑人xx片| 亚洲一区二区免费在线| 青青一区二区三区| 欧美丰满熟妇xxxxx| 91在线精品一区二区| 日本视频免费在线| 亚洲国产成人精品久久| а_天堂中文在线| 国产成人av一区二区三区| 亚洲影视一区二区三区| 日本精品一区在线| 中文字幕一区三区| 亚洲一区精品在线观看| 尤物yw午夜国产精品视频明星| 高清电影一区| 日韩高清专区| 蜜桃av噜噜一区二区三区小说| 亚洲精品国产熟女久久久| 色屁屁一区二区| 久蕉依人在线视频| 国产精品va在线播放| 精品视频国产| 一区二区在线播放视频| 国产日韩精品一区二区浪潮av | 精品国产乱码久久久久久浪潮 | 日本电影亚洲天堂一区| 黄色片在线免费看| 国产精品成av人在线视午夜片| 国内精品久久久久久久久电影网| 欧美综合在线观看视频| 国产欧美中文在线| 自拍偷拍精品视频| 波霸ol色综合久久| 亚洲一区二区三区四区电影| 加勒比海盗1在线观看免费国语版| 国产在线精品一区二区夜色| 日韩一区二区三区四区在线| 日韩精品一区二区三区在线 | 亚洲视频中文| 国产麻豆xxxvideo实拍| 欧洲一区二区三区在线| 免费高清在线观看| 国产精品免费区二区三区观看| 最新日韩欧美| 久久精品视频18| 欧美日韩www| 91高清视频在线观看| 欧美一区二区福利| 韩国一区二区三区| 中文字幕日韩一级| 日日摸夜夜添一区| 国产伦理久久久久久妇女| 激情网站五月天| 亚洲久草在线视频| 亚洲 欧美 精品| 国产区精品视频| 99精品热视频只有精品10| 卡一卡二卡三在线观看| 日韩一区二区中文字幕| 黄频免费在线观看| 亚洲一区二三| av一区二区三区黑人| 在线观看xxxx| 8050国产精品久久久久久| 日韩综合精品| 黄色网址在线视频| 欧美肥妇毛茸茸| 国产ktv在线视频| www亚洲国产| 久久夜色精品国产噜噜av| av在线免费在线观看| 欧美在线免费视频| 欧美午夜不卡| 91香蕉视频污在线观看| 日韩精品视频中文在线观看|