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

面試官:你確定 Redis 是單線(xiàn)程的進(jìn)程嗎?

開(kāi)發(fā)
Redis 程序并不是單線(xiàn)程的,Redis 在啟動(dòng)的時(shí)候,是會(huì)啟動(dòng)后臺(tái)線(xiàn)程(BIO)的。

?這次主要分享 Redis 線(xiàn)程模型篇的面試題。

  • Redis 是單線(xiàn)程嗎?
  • Redis 單線(xiàn)程模式是怎樣的?
  • Redis 采用單線(xiàn)程為什么還這么快?
  • Redis 6.0 之前為什么使用單線(xiàn)程?
  • Redis 6.0 之后為什么引入了多線(xiàn)程?

Redis 是單線(xiàn)程嗎?

Redis 單線(xiàn)程指的是「接收客戶(hù)端請(qǐng)求->解析請(qǐng)求 ->進(jìn)行數(shù)據(jù)讀寫(xiě)等操作->發(fā)生數(shù)據(jù)給客戶(hù)端」這個(gè)過(guò)程是由一個(gè)線(xiàn)程(主線(xiàn)程)來(lái)完成的,這也是我們常說(shuō) Redis 是單線(xiàn)程的原因。

但是,Redis 程序并不是單線(xiàn)程的,Redis 在啟動(dòng)的時(shí)候,是會(huì)啟動(dòng)后臺(tái)線(xiàn)程(BIO)的:

  • Redis 在 2.6 版本,會(huì)啟動(dòng) 2 個(gè)后臺(tái)線(xiàn)程,分別處理關(guān)閉文件、AOF 刷盤(pán)這兩個(gè)任務(wù);
  • Redis 在 4.0 版本之后,新增了一個(gè)新的后臺(tái)線(xiàn)程,用來(lái)異步釋放 Redis 內(nèi)存,也就是 lazyfree 線(xiàn)程。例如執(zhí)行 unlink key / flushdb async / flushall async 等命令,會(huì)把這些刪除操作交給后臺(tái)線(xiàn)程來(lái)執(zhí)行,好處是不會(huì)導(dǎo)致 Redis 主線(xiàn)程卡頓。因此,當(dāng)我們要?jiǎng)h除一個(gè)大 key 的時(shí)候,不要使用 del 命令刪除,因?yàn)?del 是在主線(xiàn)程處理的,這樣會(huì)導(dǎo)致 Redis 主線(xiàn)程卡頓,因此我們應(yīng)該使用 unlink 命令來(lái)異步刪除大key。

之所以 Redis 為「關(guān)閉文件、AOF 刷盤(pán)、釋放內(nèi)存」這些任務(wù)創(chuàng)建單獨(dú)的線(xiàn)程來(lái)處理,是因?yàn)檫@些任務(wù)的操作都是很耗時(shí)的,如果把這些任務(wù)都放在主線(xiàn)程來(lái)處理,那么 Redis 主線(xiàn)程就很容易發(fā)生阻塞,這樣就無(wú)法處理后續(xù)的請(qǐng)求了。

后臺(tái)線(xiàn)程相當(dāng)于一個(gè)消費(fèi)者,生產(chǎn)者把耗時(shí)任務(wù)丟到任務(wù)隊(duì)列中,消費(fèi)者(BIO)不停輪詢(xún)這個(gè)隊(duì)列,拿出任務(wù)就去執(zhí)行對(duì)應(yīng)的方法即可。

圖片圖片

關(guān)閉文件、AOF 刷盤(pán)、釋放內(nèi)存這三個(gè)任務(wù)都有各自的任務(wù)隊(duì)列:

  • BIO_CLOSE_FILE,關(guān)閉文件任務(wù)隊(duì)列:當(dāng)隊(duì)列有任務(wù)后,后臺(tái)線(xiàn)程會(huì)調(diào)用 close(fd) ,將文件關(guān)閉;
  • BIO_AOF_FSYNC,AOF刷盤(pán)任務(wù)隊(duì)列:當(dāng) AOF 日志配置成 everysec 選項(xiàng)后,主線(xiàn)程會(huì)把 AOF 寫(xiě)日志操作封裝成一個(gè)任務(wù),也放到隊(duì)列中。當(dāng)發(fā)現(xiàn)隊(duì)列有任務(wù)后,后臺(tái)線(xiàn)程會(huì)調(diào)用 fsync(fd),將 AOF 文件刷盤(pán),
  • BIO_LAZY_FREE,lazy free 任務(wù)隊(duì)列:當(dāng)隊(duì)列有任務(wù)后,后臺(tái)線(xiàn)程會(huì) free(obj) 釋放對(duì)象 / free(dict) 刪除數(shù)據(jù)庫(kù)所有對(duì)象 / free(skiplist) 釋放跳表對(duì)象;

Redis 單線(xiàn)程模式是怎樣的?

Redis 6.0 版本之前的單線(xiàn)模式如下圖:

圖片圖片

圖中的藍(lán)色部分是一個(gè)事件循環(huán),是由主線(xiàn)程負(fù)責(zé)的,可以看到網(wǎng)絡(luò) I/O 和命令處理都是單線(xiàn)程。Redis 初始化的時(shí)候,會(huì)做下面這幾年事情:

  • 首先,調(diào)用 epoll_create() 創(chuàng)建一個(gè) epoll 對(duì)象和調(diào)用 socket() 一個(gè)服務(wù)端 socket
  • 然后,調(diào)用 bind() 綁定端口和調(diào)用 listen() 監(jiān)聽(tīng)該 socket;
  • 然后,將調(diào)用 epoll_crt() 將 listen socket 加入到 epoll,同時(shí)注冊(cè)「連接事件」處理函數(shù)。

初始化完后,主線(xiàn)程就進(jìn)入到一個(gè)事件循環(huán)函數(shù),主要會(huì)做以下事情:

首先,先調(diào)用處理發(fā)送隊(duì)列函數(shù),看是發(fā)送隊(duì)列里是否有任務(wù),如果有發(fā)送任務(wù),則通過(guò) write 函數(shù)將客戶(hù)端發(fā)送緩存區(qū)里的數(shù)據(jù)發(fā)送出去,如果這一輪數(shù)據(jù)沒(méi)有發(fā)生完,就會(huì)注冊(cè)寫(xiě)事件處理函數(shù),等待 epoll_wait 發(fā)現(xiàn)可寫(xiě)后再處理 。

接著,調(diào)用 epoll_wait 函數(shù)等待事件的到來(lái):

  • 如果是連接事件到來(lái),則會(huì)調(diào)用連接事件處理函數(shù),該函數(shù)會(huì)做這些事情:調(diào)用 accpet 獲取已連接的 socket ->  調(diào)用 epoll_ctr 將已連接的 socket 加入到 epoll -> 注冊(cè)「讀事件」處理函數(shù);
  • 如果是讀事件到來(lái),則會(huì)調(diào)用讀事件處理函數(shù),該函數(shù)會(huì)做這些事情:調(diào)用 read 獲取客戶(hù)端發(fā)送的數(shù)據(jù) -> 解析命令 -> 處理命令 -> 將客戶(hù)端對(duì)象添加到發(fā)送隊(duì)列 -> 將執(zhí)行結(jié)果寫(xiě)到發(fā)送緩存區(qū)等待發(fā)送;
  • 如果是寫(xiě)事件到來(lái),則會(huì)調(diào)用寫(xiě)事件處理函數(shù),該函數(shù)會(huì)做這些事情:通過(guò) write 函數(shù)將客戶(hù)端發(fā)送緩存區(qū)里的數(shù)據(jù)發(fā)送出去,如果這一輪數(shù)據(jù)沒(méi)有發(fā)生完,就會(huì)繼續(xù)注冊(cè)寫(xiě)事件處理函數(shù),等待 epoll_wait 發(fā)現(xiàn)可寫(xiě)后再處理 。

以上就是 Redis 單線(xiàn)模式的工作方式。?

Redis 采用單線(xiàn)程為什么還這么快?

官方使用基準(zhǔn)測(cè)試的結(jié)果是,單線(xiàn)程的 Redis 吞吐量可以達(dá)到 10W/每秒,如下圖所示:

圖片

之所以 Redis 采用單線(xiàn)程(網(wǎng)絡(luò) I/O 和執(zhí)行命令)那么快,有如下幾個(gè)原因:

  • Redis 的大部分操作都在內(nèi)存中完成,并且采用了高效的數(shù)據(jù)結(jié)構(gòu),因此 Redis 瓶頸可能是機(jī)器的內(nèi)存或者網(wǎng)絡(luò)帶寬,而并非 CPU,既然 CPU 不是瓶頸,那么自然就采用單線(xiàn)程的解決方案了;
  • Redis 采用單線(xiàn)程模型可以避免了多線(xiàn)程之間的競(jìng)爭(zhēng),省去了多線(xiàn)程切換帶來(lái)的時(shí)間和性能上的開(kāi)銷(xiāo),而且也不會(huì)導(dǎo)致死鎖問(wèn)題。
  • Redis 采用了I/O 多路復(fù)用機(jī)制處理大量的客戶(hù)端 Socket 請(qǐng)求,IO 多路復(fù)用機(jī)制是指一個(gè)線(xiàn)程處理多個(gè) IO 流,就是我們經(jīng)常聽(tīng)到的 select/epoll 機(jī)制。簡(jiǎn)單來(lái)說(shuō),在 Redis 只運(yùn)行單線(xiàn)程的情況下,該機(jī)制允許內(nèi)核中,同時(shí)存在多個(gè)監(jiān)聽(tīng) Socket 和已連接 Socket。內(nèi)核會(huì)一直監(jiān)聽(tīng)這些 Socket 上的連接請(qǐng)求或數(shù)據(jù)請(qǐng)求。一旦有請(qǐng)求到達(dá),就會(huì)交給 Redis 線(xiàn)程處理,這就實(shí)現(xiàn)了一個(gè) Redis 線(xiàn)程處理多個(gè) IO 流的效果。

Redis 6.0 之前為什么使用單線(xiàn)程?

我們都知道單線(xiàn)程的程序是無(wú)法利用服務(wù)器的多核 CPU 的,那么早期 Redis 版本的主要工作(網(wǎng)絡(luò) I/O 和執(zhí)行命令)為什么還要使用單線(xiàn)程呢?我們不妨先看一下Redis官方給出的FAQ。

圖片

核心意思是:CPU 并不是制約 Redis 性能表現(xiàn)的瓶頸所在,更多情況下是受到內(nèi)存大小和網(wǎng)絡(luò)I/O的限制,所以 Redis 核心網(wǎng)絡(luò)模型使用單線(xiàn)程并沒(méi)有什么問(wèn)題,如果你想要使用服務(wù)的多核CPU,可以在一臺(tái)服務(wù)器上啟動(dòng)多個(gè)節(jié)點(diǎn)或者采用分片集群的方式。

除了上面的官方回答,選擇單線(xiàn)程的原因也有下面的考慮。

使用了單線(xiàn)程后,可維護(hù)性高,多線(xiàn)程模型雖然在某些方面表現(xiàn)優(yōu)異,但是它卻引入了程序執(zhí)行順序的不確定性,帶來(lái)了并發(fā)讀寫(xiě)的一系列問(wèn)題,增加了系統(tǒng)復(fù)雜度、同時(shí)可能存在線(xiàn)程切換、甚至加鎖解鎖、死鎖造成的性能損耗。

Redis 6.0 之后為什么引入了多線(xiàn)程?

雖然 Redis 的主要工作(網(wǎng)絡(luò) I/O 和執(zhí)行命令)一直是單線(xiàn)程模型,但是在 Redis 6.0 版本之后,也采用了多個(gè) I/O 線(xiàn)程來(lái)處理網(wǎng)絡(luò)請(qǐng)求,這是因?yàn)殡S著網(wǎng)絡(luò)硬件的性能提升,Redis 的性能瓶頸有時(shí)會(huì)出現(xiàn)在網(wǎng)絡(luò) I/O 的處理上。

所以為了提高網(wǎng)絡(luò)請(qǐng)求處理的并行度,Redis 6.0 對(duì)于網(wǎng)絡(luò)請(qǐng)求采用多線(xiàn)程來(lái)處理。但是對(duì)于讀寫(xiě)命令,Redis 仍然使用單線(xiàn)程來(lái)處理,所以大家不要誤解 Redis 有多線(xiàn)程同時(shí)執(zhí)行命令。

Redis 官方表示,Redis 6.0 版本引入的多線(xiàn)程 I/O 特性對(duì)性能提升至少是一倍以上。

Redis 6.0 版本支持的 I/O  多線(xiàn)程特性,默認(rèn)是 I/O 多線(xiàn)程只處理寫(xiě)操作(write client socket),并不會(huì)以多線(xiàn)程的方式處理讀操作(read client socket)。要想開(kāi)啟多線(xiàn)程處理客戶(hù)端讀請(qǐng)求,就需要把  Redis.conf  配置文件中的 io-threads-do-reads 配置項(xiàng)設(shè)為 yes。

//讀請(qǐng)求也使用io多線(xiàn)程
io-threads-do-reads yes

同時(shí), Redis.conf  配置文件中提供了  IO 多線(xiàn)程個(gè)數(shù)的配置項(xiàng)。

// io-threads N,表示啟用 N-1 個(gè) I/O 多線(xiàn)程(主線(xiàn)程也算一個(gè) I/O 線(xiàn)程)
io-threads 4

關(guān)于線(xiàn)程數(shù)的設(shè)置,官方的建議是如果為 4 核的 CPU,建議線(xiàn)程數(shù)設(shè)置為 2 或 3,如果為 8 核 CPU 建議線(xiàn)程數(shù)設(shè)置為 6,線(xiàn)程數(shù)一定要小于機(jī)器核數(shù),線(xiàn)程數(shù)并不是越大越好。因此, Redis 6.0 版本之后,Redis 在啟動(dòng)的時(shí)候,默認(rèn)情況下會(huì)有 6 個(gè)線(xiàn)程:

  • Redis-server :Redis的主線(xiàn)程,主要負(fù)責(zé)執(zhí)行命令;
  • bio_close_file、bio_aof_fsync、bio_lazy_free:三個(gè)后臺(tái)線(xiàn)程,分別異步處理關(guān)閉文件任務(wù)、AOF刷盤(pán)任務(wù)、釋放內(nèi)存任務(wù);
  • io_thd_1、io_thd_2、io_thd_3:三個(gè) I/O 線(xiàn)程,io-threads 默認(rèn)是 4 ,所以會(huì)啟動(dòng) 3(4-1)個(gè) I/O 多線(xiàn)程,用來(lái)分擔(dān) Redis 網(wǎng)絡(luò) I/O 的壓力。?
責(zé)任編輯:趙寧寧 來(lái)源: 小林coding
相關(guān)推薦

2020-03-10 08:01:05

Java堆內(nèi)存線(xiàn)程共享

2021-12-28 09:50:18

Redis單線(xiàn)程高并發(fā)

2025-06-17 00:22:00

2025-04-24 08:15:00

Redis單線(xiàn)程線(xiàn)程

2021-06-11 11:28:22

多線(xiàn)程fork單線(xiàn)程

2021-08-10 07:00:01

Redis單線(xiàn)程并發(fā)

2020-10-26 08:55:52

Redis單線(xiàn)程模型

2021-09-28 12:36:02

Linux系統(tǒng)進(jìn)程

2019-11-25 10:13:52

Redis單線(xiàn)程I

2022-02-08 08:14:07

Context數(shù)據(jù)線(xiàn)程

2019-06-17 14:20:51

Redis數(shù)據(jù)庫(kù)Java

2024-08-21 10:28:54

Redis數(shù)據(jù)結(jié)構(gòu)內(nèi)存

2022-01-04 11:11:32

Redis單線(xiàn)程Reactor

2024-04-02 09:45:27

線(xiàn)程池Executors開(kāi)發(fā)

2015-08-13 10:29:12

面試面試官

2021-09-01 09:44:16

Redis持久化配置

2019-05-06 11:12:18

Redis高并發(fā)單線(xiàn)程

2025-02-21 15:25:54

虛擬線(xiàn)程輕量級(jí)

2024-05-11 15:11:44

系統(tǒng)軟件部署

2023-12-01 08:18:24

Redis網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

在线视频精品| 国产v综合v| www.亚洲精品| 中文字幕亚洲图片| 亚洲午夜激情影院| 国产精品免费观看| 国产在线观看免费一区| 性欧美xxxx交| 99精品全国免费观看| 国产日韩欧美中文在线| 国产精品美女久久久久av爽李琼 | 亚洲国产高清一区| 日韩一区二区在线观看| 日日橹狠狠爱欧美超碰| 五月婷婷丁香六月| 丝袜a∨在线一区二区三区不卡 | 中文字幕一区二区久久人妻网站| 欧美极品少妇videossex| 久久一夜天堂av一区二区三区 | 国产精品亚洲天堂| 亚洲av电影一区| 久久久久久色| 色综合色综合久久综合频道88| 加勒比av中文字幕| www.com.cn成人| 亚洲一区二区三区精品在线| 小说区图片区图片区另类灬| 姝姝窝人体www聚色窝| 在线视频日韩| 欧美国产日韩视频| 免费成人美女女在线观看| 精品国产亚洲一区二区三区大结局| 亚洲激情图片一区| 亚洲午夜精品一区二区三区| 亚洲一级特黄毛片| 午夜影院日韩| 韩国19禁主播vip福利视频| 少妇高潮惨叫久久久久| 国内精品久久久久久久久电影网| 欧美精品777| 男人女人黄一级| 涩涩涩视频在线观看| 亚洲午夜久久久久久久久久久| 久久精品国产精品青草色艺| 欧美一区免费看| 一本色道久久精品| 中文字幕精品国产| 91成人破解版| 青草久久视频| 亚洲精品国产成人| 国产高清成人久久| 激情视频极品美女日韩| 亚洲福利在线观看| 中文字幕精品视频在线| 成午夜精品一区二区三区软件| 日韩欧美在线视频免费观看| 在线观看日韩片| 手机在线观看毛片| 91麻豆国产在线观看| 国产一区红桃视频| 一二三四区在线| 免费成人美女在线观看| 欧美极品xxxx| 国产一级做a爰片在线看免费| 国产一区二区三区四区五区传媒| 欧美一卡二卡在线| 在线观看网站黄| 国产区一区二| 欧美三级欧美一级| 色婷婷激情视频| 日韩av综合| 日韩av在线免费观看一区| 97人妻精品一区二区三区免| 国产亚洲字幕| 欧美va亚洲va香蕉在线 | 亚洲制服少妇| 国产成人精品一区二区三区| 五月天中文字幕| 九色综合狠狠综合久久| 99久久无色码| 亚洲 欧美 自拍偷拍| 久久精品在线观看| 中文精品一区二区三区| 黄色小视频在线观看| 欧美经典三级视频一区二区三区| 久久青青草综合| 国产视频网址在线| 亚洲精品视频一区| 精品人妻一区二区三区四区在线| 七七成人影院| 色婷婷激情综合| 九九九九九伊人| 久久夜色电影| 中文字幕亚洲二区| 国产午夜免费视频| 日韩高清在线不卡| av免费精品一区二区三区| 亚洲色图另类小说| 亚洲欧美在线视频观看| 少妇av一区二区三区无码| 麻豆福利在线观看| 欧洲精品一区二区三区在线观看| 欧美精品第三页| 亚洲午夜剧场| 亚洲精品一区在线观看香蕉| 天天干天天色天天爽| 亚洲精品98久久久久久中文字幕| 欧美专区一区二区三区| 99精品国产高清一区二区麻豆| 国产精品嫩草影院精东| 久久久免费看片| 久久久久免费精品| 亚洲图片欧洲图片日韩av| 成人午夜福利一区二区| 欧美大片aaaa| 海角国产乱辈乱精品视频| 影音先锋黄色网址| 不卡在线观看av| 一区二区三区欧美成人| 国产免费拔擦拔擦8x在线播放 | 一个色综合网站| av观看免费在线| 亚洲国产一区二区三区网站| 一区二区三区精品99久久 | 国产一级片av| 成人亚洲一区二区一| 一区二区三区国| 欧美精品高清| 亚洲久久久久久久久久| 精品亚洲aⅴ无码一区二区三区| 欧美日韩水蜜桃| 日韩一区av在线| 日本精品入口免费视频| 99精品国产视频| 欧妇女乱妇女乱视频| 国产精品18| 久久精品2019中文字幕| 波多野结衣av无码| 久久久噜噜噜久久人人看| 国产九色porny| 成人知道污网站| 久久久久国产精品免费| 精品国产九九九| 最新不卡av在线| 波多野结衣乳巨码无在线| 免费欧美网站| 欧美wwwxxxx| 国产a级免费视频| 亚洲精品va在线观看| 午夜诱惑痒痒网| 婷婷成人在线| 国产999精品久久久| 国产一级在线| 欧美综合欧美视频| 国产三级aaa| 精品夜夜嗨av一区二区三区| 天天成人综合网| 精品国产一区二| 欧美激情亚洲自拍| 中文字幕在线观看精品| 国产精品国产三级国产aⅴ入口| 日韩av中文字幕第一页| 国产精品调教视频| 国产91精品久久久久| 欧美香蕉爽爽人人爽| 91久久精品国产91性色tv| 真实乱偷全部视频| 欧美视频福利| 久久精品国产第一区二区三区最新章节| 黄色动漫在线| 日韩精品中文字幕在线一区| 国产18无套直看片| 中文亚洲字幕| 日本视频一区二区在线观看| 日韩免费在线电影| 亚洲人成网站777色婷婷| 精品无码黑人又粗又大又长| 国产成人午夜电影网| 人人干视频在线| 精品国产91乱码一区二区三区四区 | 911精品美国片911久久久| 亚洲a区在线视频| 182在线播放| 曰本色欧美视频在线| 国产手机av在线| 国产精品三级电影| 国产免费a级片| 三级久久三级久久| 欧美aaa在线观看| 嫩草国产精品入口| 国产欧美一区二区三区在线看| 精品成人一区二区三区免费视频| 五月婷婷综合在线| 国产91丝袜美女在线播放| 国产乱色国产精品免费视频| 777久久久精品一区二区三区| 国产精品任我爽爆在线播放| 国产高清在线不卡| 2024最新电影在线免费观看| 亚洲精品mp4| 国产特黄大片aaaa毛片| 中文字幕av不卡| 久久久国产精品无码| 麻豆91在线观看| 欧美一区二区三区爽大粗免费| 欧美18免费视频| 91麻豆桃色免费看| 久久91导航| 久久久久久亚洲| 五月天久久久久久| 91精品国产手机| 加勒比在线一区| 亚洲综合成人网| 三上悠亚在线观看视频| 久久伊人中文字幕| 美女久久久久久久久| 久久99精品国产91久久来源| 国产一区二区三区精彩视频 | 最新av在线播放| 伊人久久五月天| 天天操天天干天天| 日韩欧美区一区二| 一区二区www| 欧美中文字幕一区二区三区| 国产不卡在线观看视频| 91在线视频18| 蜜臀av粉嫩av懂色av| 久久一区激情| 日韩精品―中文字幕| 欧美日韩ab| 99精品一区二区三区的区别| 日本一区二区三区视频| 久久综合精品一区| 日韩理论电影中文字幕| 国产精品美女视频网站| 成人免费影院| 91av在线播放视频| 成av人片在线观看www| 欧美激情xxxx| 日本大胆在线观看| 久久777国产线看观看精品| 五月天婷婷激情网| 亚洲精品按摩视频| 色呦呦中文字幕| 亚洲成人激情在线观看| 丰满熟妇乱又伦| 精品福利在线导航| 三级视频在线看| 日韩av一区在线观看| 香蕉视频成人在线| 亚洲成人三级在线| 亚洲 另类 春色 国产| 日韩成人久久久| 亚洲欧洲国产综合| 国产视频综合在线| 国产小视频福利在线| 中文字幕一区二区精品| 中文字幕在线观看日本| 日韩视频在线观看免费| 黄av在线播放| 欧美高清一级大片| 91九色porn在线资源| 69av在线播放| 久久久成人av毛片免费观看| 国产精品网站大全| 亚洲图片小说区| 国产精品亚洲综合| 日韩成人在线电影| 亚洲专区国产精品| 高清精品xnxxcom| 欧美一区二区三区精美影视| 精品免费av| 婷婷视频在线播放| 亚洲国产精品一区制服丝袜| 国产精品网站免费| 热久久免费视频| 污污视频在线免费| 91污片在线观看| 国产在线免费av| 一区二区三区免费网站| 91麻豆精品成人一区二区| 国产日韩av一区二区| 久艹在线观看视频| 亚洲成人免费影院| 久久精品99北条麻妃| 欧美一区二区三区人| 日韩一级片免费观看| 亚洲天堂第二页| 中文字幕中文字幕在线中高清免费版 | 无码国产69精品久久久久网站 | 最近日本中文字幕| 国产精品污污网站在线观看| a级黄色片免费看| 欧美日韩亚洲一区二| 一本一道人人妻人人妻αv| 亚洲精品在线一区二区| 高清国产福利在线观看| 欧美区在线播放| 日本一区二区三区视频在线| 99视频免费观看| 中文字幕视频精品一区二区三区| 亚洲在线视频观看| 国产亚洲一区二区三区不卡| 韩国无码av片在线观看网站| 石原莉奈在线亚洲二区| 香蕉视频免费网站| 成人免费视频caoporn| 亚洲欧美日韩第一页| 欧美日韩国产中字| 国产免费不卡av| 尤物九九久久国产精品的分类| 91电影在线播放| 性欧美xxxx| 日韩一区二区三区精品视频第3页| av噜噜色噜噜久久| 98精品久久久久久久| 欧美三级午夜理伦三级| 国产成人8x视频一区二区| 一级欧美一级日韩片| 亚洲欧美日韩在线| 中文字幕一区二区久久人妻| 日韩成人中文字幕在线观看| 日本在线视频网址| 热久久99这里有精品| 国产精品1luya在线播放| 天天想你在线观看完整版电影免费| 欧美日韩一区自拍| 成人免费在线小视频| 男男视频亚洲欧美| 韩国三级丰满少妇高潮| 国产精品欧美极品| 久久精品五月天| 日韩成人久久久| 国产乱码午夜在线视频| 成人欧美视频在线| 欧美搞黄网站| 天天色天天干天天色| 1024精品合集| 国产一区二区在线播放视频| 精品久久久久久久一区二区蜜臀| 青青操视频在线| www欧美日韩| 欧美videos粗暴| 国产一区二区三区av在线| 欧美熟乱15p| 少妇性l交大片| 国产视频一区在线观看| 久草视频在线免费| 精品国产乱子伦一区| 男人添女人下部高潮视频在线观看 | 久久大香伊蕉在人线观看热2| 色综合蜜月久久综合网| 性欧美极品xxxx欧美一区二区| 国产99精品国产| 日韩福利在线视频| 欧美日韩mp4| 久久久久久久久免费视频| 91精品中文在线| 精品一二三区| 日韩高清第一页| 国产亚洲综合色| 中文在线免费看视频| 日韩三级影视基地| 亚洲精品在线播放| 国产白丝袜美女久久久久| 国产一区二区在线看| 五月婷婷综合激情网| 日韩午夜激情电影| 91资源在线观看| 日本不卡二区| 一区二区三区福利| 国产中年熟女高潮大集合| 欧美午夜不卡视频| 尤物yw193can在线观看| 国内精品久久国产| 国产一区二区中文| 丰满大乳奶做爰ⅹxx视频| 在线观看视频欧美| www在线免费观看视频| 激情小说综合网| 美国一区二区三区在线播放 | 日日碰狠狠丁香久燥| 国产精品视频第一区| 国产裸体永久免费无遮挡| 久久久女人电视剧免费播放下载| 秋霞影院一区| www.亚洲天堂网| 亚洲天堂精品视频| 亚洲 美腿 欧美 偷拍| 国产视频福利一区| 国产一区二区三区成人欧美日韩在线观看| 免费看91视频| 亚洲精品成人在线| www日本高清视频| 国产成人精品a视频一区www| 欧美1区视频| 91视频免费看片| 日韩成人黄色av| 一区二区日韩| 国产高潮免费视频|