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

Redis的自白:我為什么在單線程的這條路上越走越遠(yuǎn)?

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù) Redis
Redis 的單線程曾幾何時(shí)還是我們炫耀的資本,優(yōu)雅又不失高效的設(shè)計(jì),讓無(wú)數(shù)的追求者為之著迷。

[[346765]]

我是 Redis,今年 11 歲了~

曾幾何時(shí)我是辣么的單純,辣么的可愛(ài),而如今我竟背叛了當(dāng)初“誓言”,決心在多線程這條路上義無(wú)反顧的一路狂奔,沒(méi)錯(cuò)我就是你們口中那個(gè)既可愛(ài)又迷人的 Redis,你可以叫我小 R...R 😊。

一波騷操作結(jié)束,我們開始今天的正文。

我們知道在 Redis 4.0 之后就陸陸續(xù)續(xù)添加了一些多線程的功能,難道單線程不香了嗎?

單線程慢嗎?

Redis 的單線程曾幾何時(shí)還是我們炫耀的資本,優(yōu)雅又不失高效的設(shè)計(jì),讓無(wú)數(shù)的追求者為之著迷。

你要問(wèn)我排第幾?Nginx 是我大哥,NodeJS 是我小弟,我在家中排名老二。

[[346766]]

我們兄弟仨可謂單線程的杰出代表,不僅演示了我們的優(yōu)雅更加展現(xiàn)了我們的高效。

有人可能會(huì)問(wèn):為什么單線程的我,竟然如此囂張?

家中有礦唄,Redis 單線程但性能依舊很快的主要原因有以下幾點(diǎn):

    1.  基于內(nèi)存操作:Redis 的所有數(shù)據(jù)都存在內(nèi)存中,因此所有的運(yùn)算都是內(nèi)存級(jí)別的,所以他的性能比較高;

    2.  數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單:Redis 的數(shù)據(jù)結(jié)構(gòu)比較簡(jiǎn)單,是為 Redis 專門設(shè)計(jì)的,而這些簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)的查找和操作的時(shí)間復(fù)雜度都是 O(1),因此性能比較高;

    3.  多路復(fù)用和非阻塞 I/O:Redis 使用 I/O 多路復(fù)用功能來(lái)監(jiān)聽多個(gè) socket 連接客戶端,這樣就可以使用一個(gè)線程連接來(lái)處理多個(gè)請(qǐng)求,減少線程切換帶來(lái)的開銷,同時(shí)也避免了 I/O 阻塞操作,從而大大提高了 Redis 的性能;

    4.  避免上下文切換:因?yàn)槭菃尉€程模型,因此就避免了不必要的上下文切換和多線程競(jìng)爭(zhēng),這就省去了多線程切換帶來(lái)的時(shí)間和性能上的消耗,而且單線程不會(huì)導(dǎo)致死鎖問(wèn)題的發(fā)生。

來(lái)看一下我的父親大大是如何評(píng)價(jià)我的,Redis 的 FAQ(Frequently Asked Questions,常見(jiàn)問(wèn)題)回答了單線程的這個(gè)問(wèn)題,具體內(nèi)容如下:

Redis is single threaded. How can I exploit multiple CPU / cores?

It's not very frequent that CPU becomes your bottleneck with Redis, as usually Redis is either memory or network bound. For instance, using pipelining Redis running on an average Linux system can deliver even 1 million requests per second, so if your application mainly uses O(N) or O(log(N)) commands, it is hardly going to use too much CPU.

However, to maximize CPU usage you can start multiple instances of Redis in the same box and treat them as different servers. At some point a single box may not be enough anyway, so if you want to use multiple CPUs you can start thinking of some way to shard earlier.

You can find more information about using multiple Redis instances in the Partitioning page.

However with Redis 4.0 we started to make Redis more threaded. For now this is limited to deleting objects in the background, and to blocking commands implemented via Redis modules. For future releases, the plan is to make Redis more and more threaded.

詳見(jiàn):https://redis.io/topics/faq

他的大體意思是說(shuō) Redis 是基于內(nèi)存操作的,因此他的瓶頸可能是機(jī)器的內(nèi)存或者網(wǎng)絡(luò)帶寬而并非 CPU,既然 CPU 不是瓶頸,那么自然就采用單線程的解決方案了,況且使用多線程比較麻煩。但是在 Redis 4.0 中開始支持多線程了,例如后臺(tái)刪除等功能。

簡(jiǎn)單來(lái)說(shuō),Redis  4.0 之前一直采用單線程的主要原因有以下三個(gè):

  1.  使用單線程模型是 Redis 的開發(fā)和維護(hù)更簡(jiǎn)單,因?yàn)閱尉€程模型方便開發(fā)和調(diào)試;
  2.  即使使用單線程模型也并發(fā)的處理多客戶端的請(qǐng)求,主要使用的是多路復(fù)用和非阻塞 IO;
  3.  對(duì)于 Redis 系統(tǒng)來(lái)說(shuō),主要的性能瓶頸是內(nèi)存或者網(wǎng)絡(luò)帶寬而并非 CPU。

[[346767]]

為什么需要多線程?

但是單線程也有單線程的苦惱,比如當(dāng)我(Redis)需要?jiǎng)h除一個(gè)很大的數(shù)據(jù)時(shí),因?yàn)槭菃尉€程同步操作,這就會(huì)導(dǎo)致 Redis 服務(wù)卡頓,于是在 Redis 4.0 中就新增了多線程的模塊,當(dāng)然此版本中的多線程主要是為了解決刪除數(shù)據(jù)效率比較低的問(wèn)題的,他的相關(guān)指令有以下三個(gè):

  1.  unlink key
  2.  flushdb async
  3.  flushall async

執(zhí)行示例如下所示: 

  1. > unlink key # 后臺(tái)刪除某個(gè) key  
  2. > OK # 執(zhí)行成功  
  3. > flushall async # 清空所有數(shù)據(jù)  
  4. > OK # 執(zhí)行成功 

這樣我就可以把這些壞人“瞬間”拉黑(刪除)了。

[[346768]]

所謂的“瞬間”刪除其實(shí)有些夸張,只是從返回的結(jié)果來(lái)看是刪除成功了,但是這只是把刪除工作交給了后臺(tái)的小弟(子線程)異步來(lái)刪除數(shù)據(jù)了。

小貼士:正常情況下使用 del 指令可以很快的刪除數(shù)據(jù),而當(dāng)被刪除的 key 是一個(gè)非常大的對(duì)象時(shí),例如時(shí)包含了成千上萬(wàn)個(gè)元素的 hash 集合時(shí),那么 del 指令就會(huì)造成 Redis 主線程卡頓,因此使用惰性刪除可以有效的避免 Redis 卡頓的問(wèn)題。

Redis 6 中的多線程

之前在 Redis 4.0 中你說(shuō)刪除比較慢,騙我開大(多線程)來(lái)處理也就罷了,為毛 Redis 6.0 還要多線程嘞?

其實(shí)是這樣的在 Redis 4.0 版本中雖然引入了多線程,但此版本中的多線程只能用于大數(shù)據(jù)量的異步刪除,然而對(duì)于非刪除操作的意義并不是很大。

但如果我們使用我們?cè)诜莿h除的環(huán)境下使用多線程的話就可以分?jǐn)?Redis 同步讀寫 I/O 的壓力,以及充分的利用多核 CPU 的資源了,這樣就可以有效的提升 Redis 的 QPS(Query Per Second,每秒查詢率)了。

在 Redis 中雖然使用了 I/O 多路復(fù)用,并且是基于非阻塞 I/O 進(jìn)行操作的,但 I/O 的讀和寫本身是堵塞的,比如當(dāng) socket 中有數(shù)據(jù)時(shí),Redis 會(huì)通過(guò)調(diào)用先將數(shù)據(jù)從內(nèi)核態(tài)空間拷貝到用戶態(tài)空間,再交給 Redis 調(diào)用,而這個(gè)拷貝的過(guò)程就是阻塞的,當(dāng)數(shù)據(jù)量越大時(shí)拷貝所需要的時(shí)間就越多,而這些操作都是基于單線程完成的。

[[346769]]

I/O 多路復(fù)用,簡(jiǎn)單來(lái)說(shuō)就是通過(guò)監(jiān)測(cè)文件的讀寫事件,再通知線程執(zhí)行相關(guān)操作,保證 Redis 的非阻塞 I/O 能夠順利執(zhí)行完成的機(jī)制。

因此在 Redis 6.0 中新增了多線程的功能來(lái)提高 I/O 的讀寫性能,他的主要實(shí)現(xiàn)思路是將主線程的 IO 讀寫任務(wù)拆分給一組獨(dú)立的線程去執(zhí)行,這樣就可以使多個(gè) socket 的讀寫可以并行化了,但 Redis 的命令依舊是由主線程串行執(zhí)行的。

需要注意的是 Redis 6.0 默認(rèn)是禁用多線程的,可以通過(guò)修改 Redis 的配置文件 redis.conf 中的 io-threads-do-reads 等于 true 來(lái)開啟多線程,完整配置為 io-threads-do-reads true,除此之外我們還需要設(shè)置線程的數(shù)量才能正確的開啟多線程的功能,同樣是修改 Redis 的配置,例如設(shè)置 io-threads 4 表示開啟 4 個(gè)線程。

小貼士:關(guān)于線程數(shù)的設(shè)置,官方的建議是如果為 4 核的 CPU,建議線程數(shù)設(shè)置為 2 或 3,如果為 8 核 CPU 建議線程數(shù)設(shè)置為 6,線程數(shù)一定要小于機(jī)器核數(shù),線程數(shù)并不是越大越好。

關(guān)于 Redis 的性能,我的父王  antirez(Redis 作者)在 RedisConf 2019 分享時(shí)曾提到,Redis 6 引入的多線程 I/O 特性對(duì)性能提升至少是一倍以上。國(guó)內(nèi)也有人在阿里云使用 4 個(gè)線程的 Redis 版本和單線程的 Redis 進(jìn)行比較測(cè)試,發(fā)現(xiàn)測(cè)試的結(jié)果和 antirez 給出的結(jié)論基本吻合,性能基本可以提高一倍。

[[346770]]

總結(jié)

Redis 雖然依靠自己的:基于內(nèi)存操作、數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、多路復(fù)用和非阻塞 I/O、避免了不必要的線程上下文切換等特性,在單線程的環(huán)境下依然很快;但對(duì)于大數(shù)據(jù)的 key 刪除還是卡的飛起,因此在 Redis 4.0 引入了多線程:unlink key/flushall async 等命令,主要用于 Redis 數(shù)據(jù)的刪除,而在 Redis 6.0 中引入了 I/O 多線程的讀寫,這樣就可以更加高效的處理更多的任務(wù)了,Redis 只是將 I/O 讀寫變成了多線程,而命令的執(zhí)行依舊是由主線程串行執(zhí)行的,因此在多線程下操作 Redis 不會(huì)出現(xiàn)線程安全的問(wèn)題。

Redis 無(wú)論是當(dāng)初的單線程設(shè)計(jì),還是如今與當(dāng)初設(shè)計(jì)相背的多線程,目的只有一個(gè):讓 Redis 變得越來(lái)越快。

所以 Redis 依舊沒(méi)變,他還是那個(gè)曾經(jīng)的追風(fēng)少年~ 

 

責(zé)任編輯:龐桂玉 來(lái)源: Java知音
相關(guān)推薦

2023-10-15 12:23:10

單線程Redis

2015-11-04 14:45:24

數(shù)據(jù)分析大數(shù)據(jù)創(chuàng)業(yè)

2023-03-21 08:02:36

Redis6.0IO多線程

2019-05-07 09:44:45

Redis高并發(fā)模型

2019-06-17 14:20:51

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

2020-06-11 09:35:39

Redis單線程Java

2020-10-30 16:20:38

Redis單線程高并發(fā)

2023-08-17 14:12:17

2021-03-03 08:01:58

Redis多線程程序

2019-02-18 08:10:53

2019-05-06 11:12:18

Redis高并發(fā)單線程

2025-01-17 08:23:33

2025-04-24 08:15:00

Redis單線程線程

2020-11-17 10:20:53

Redis多線程單線程

2025-06-17 00:22:00

2021-12-28 09:50:18

Redis單線程高并發(fā)

2025-09-18 08:16:28

JavaScrip單線程Linux

2022-01-04 11:11:32

Redis單線程Reactor

2024-08-30 14:31:48

2019-04-02 11:20:48

Redis高并發(fā)單線程
點(diǎn)贊
收藏

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

日韩高清在线不卡| 欧美一区二区免费在线观看| 美国一级黄色录像| а√在线天堂官网| 亚洲一区色图| 欧美三级电影网| 日本久久久久久久久久久| 亚洲成人av免费观看| 在线观看美女网站大全免费| 亚洲三级电影在线观看| 日韩精品一区二区三区蜜臀| 中文字幕日韩精品一区二区| 自拍偷拍校园春色| 九九精品久久| 欧美性少妇18aaaa视频| 精品视频高清无人区区二区三区| 精品视频一区二区在线观看| 亚洲成人黄色| 亚洲一区在线观看视频| 99久久精品无码一区二区毛片 | 欧美污视频网站| 国产视频aaa| 天天综合一区| 7777精品伊人久久久大香线蕉完整版 | 日韩一级特黄毛片| 精品人妻一区二区三区含羞草| 日韩欧美高清在线播放| 欧美三级在线看| 欧美精品久久久久久久免费| 手机av在线免费观看| 99riav国产精品| 亚洲欧美日韩视频一区| 另类小说第一页| 麻豆视频在线免费观看| 国产麻豆成人精品| 欧美激情在线观看| 亚洲一区二区三区无码久久| 亚洲福利影院| 国产精品视频线看| 91手机在线播放| 久久夜色精品亚洲| 成人精品影院| 欧美成人在线直播| 中文av字幕在线观看| 国产精品无码粉嫩小泬| 亚洲资源网你懂的| 欧美私模裸体表演在线观看| 在线不卡视频一区二区| 999在线视频| 中文字幕高清不卡| 成人欧美一区二区三区在线观看| 日韩精品在线免费视频| 色综合色综合| 中文字幕日韩av| av电影在线播放| 欧洲av一区二区| 亚洲欧美日韩人成在线播放| 久久精品国产精品国产精品污| 亚洲免费视频二区| 男人的天堂亚洲一区| 久久99视频免费| 色哟哟精品观看| 我要色综合中文字幕| 欧美一区二区免费观在线| 一卡二卡三卡视频| 日本在线免费网| av电影一区二区| 国产主播精品在线| 日韩黄色一级大片| 久久三级视频| 久久噜噜噜精品国产亚洲综合| 人妻aⅴ无码一区二区三区 | 欧美精品一区二区三区久久久| 男人和女人啪啪网站| 日本综合在线| 亚洲免费观看高清| 亚洲7777| 久青草国产在线| 暴力调教一区二区三区| 免费看成人片| 日韩在线观看视频一区| 久久成人18免费观看| 热re91久久精品国99热蜜臀| 久久免费公开视频| 国产美女诱惑一区二区| 欧美日本在线视频中文字字幕| 久久精品视频日本| 91精品一区二区三区综合在线爱| 亚洲美女av网站| 99久久99久久精品免费看小说. | 久久久久久爱| 精品视频全国免费看| www.久久久久久久久久久| 国产ts一区| 日韩欧美国产1| 伊人网伊人影院| 久久精品色播| 亚洲成人1234| 天天躁日日躁狠狠躁免费麻豆| 精品在线99| 欧美国产日本在线| 中文字幕影音先锋| 欧美成熟视频| 欧美大尺度激情区在线播放 | 精品日韩在线| 亚洲欧美制服丝袜| 性高潮久久久久久久| 欧美日本一区二区视频在线观看 | 精品国产乱码久久久久久影片| 无码少妇精品一区二区免费动态| 亚洲97av| 欧美福利视频在线| 亚洲一区 中文字幕| 免播放器亚洲一区| 国产在线一区二区三区欧美| 国产综合视频在线| 不卡视频在线观看| 精品九九九九| 一区二区三区伦理| 亚洲国产精品一区二区久久| 给我免费播放片在线观看| 成入视频在线观看| 欧美一区二区黄| 波多野结衣家庭教师在线观看| 国产一区二区三区成人欧美日韩在线观看 | 美女视频黄免费| 欧美三级网页| 国产精品福利在线观看| 91无套直看片红桃| 国产精品1区2区3区在线观看| 99免费在线观看视频| 97人人在线| 欧美专区亚洲专区| www激情五月| 国产精品2023| 欧美日本高清视频| 精品人妻一区二区三区麻豆91 | 欧美精品成人久久| 国产在线麻豆精品观看| 成人片在线免费看| 日本伦理一区二区| 色婷婷久久综合| 日本中文字幕观看| 大香伊人久久精品一区二区| 超碰97人人做人人爱少妇| 日韩成人av毛片| 日韩av中文字幕一区二区三区| 久久国产精品久久| 成人美女视频| 日韩一级片网址| 三叶草欧洲码在线| 97久久视频| 久久人人爽人人| 色偷偷在线观看| 亚洲综合成人在线| 黄色三级视频在线| 成人写真视频| 91香蕉亚洲精品| 久久电影视频| 一区二区三区在线播| 999精品网站| 国产精品男女| 91精品成人久久| 国产黄色一级大片| 国产嫩草影院久久久久| 日本欧美视频在线观看| 欧美18xxxx| 欧美国产日本高清在线 | 任你操这里只有精品| 精品视频网站| 91亚洲国产精品| heyzo高清在线| 欧美区一区二区三区| 特级西西人体4444xxxx| 亚洲欧美清纯在线制服| 91视频婷婷| 东京一区二区| 日韩最新免费不卡| 无码人妻aⅴ一区二区三区有奶水| 国产乱码精品1区2区3区| 国产免费xxx| 欧美综合影院| 在线电影欧美日韩一区二区私密| 亚洲精品午夜久久久久久久| 久久久无码精品亚洲日韩按摩| 黄色三级中文字幕| 韩国一区二区三区视频| 国产69精品99久久久久久宅男| 九色视频在线观看免费播放| 欧美精品色一区二区三区| 大地资源二中文在线影视观看| 琪琪一区二区三区| 日本公妇乱淫免费视频一区三区| 精精国产xxxx视频在线野外| 在线成人中文字幕| 日本高清视频www| 欧美三级日本三级少妇99| 国产一级做a爰片在线看免费| 久久嫩草精品久久久久| av免费播放网址| 偷拍视屏一区| 欧美中文字幕在线观看| www视频在线看| 日韩一级二级三级精品视频| 亚洲欧美综合另类| 成人av在线一区二区| 向日葵污视频在线观看| 久久社区一区| 免费成人深夜夜行视频| a看欧美黄色女同性恋| 久久久久国产精品www| 91caoporm在线视频| 日韩成人中文电影| 怡红院av久久久久久久| 亚洲图片自拍偷拍| 欧美丰满熟妇bbbbbb| 国产精品1024| 五月婷婷六月丁香激情| 久久一区欧美| 黄色动漫网站入口| 亚洲国产一区二区三区高清| 日本精品免费视频| 久久在线电影| 亚洲国产一区二区三区在线播 | 成人午夜剧场视频网站| www.欧美色图| 亚洲图片欧美另类| 久久xxxx精品视频| 亚洲欧美国产一区二区| 岳的好大精品一区二区三区| 国产精品免费一区二区三区四区| 黄色aa久久| 久久久久久91| 欧美四级在线| 亚洲另类欧美自拍| 天堂av在线免费| 精品国产髙清在线看国产毛片| 国产熟女一区二区丰满| 欧美一区二区三区免费| 97免费观看视频| 图片区日韩欧美亚洲| 夜夜春很很躁夜夜躁| 91看片淫黄大片一级在线观看| 国产色视频在线播放| 蜜臀av性久久久久蜜臀aⅴ四虎| 无码无遮挡又大又爽又黄的视频| 久久精品综合| 激情五月俺来也| 久久精品国产免费| 成人免费观看cn| 亚洲青色在线| 国产中文字幕免费观看| 久久中文精品| 91插插插插插插插插| 亚洲午夜极品| 亚洲一区bb| 日韩有码中文字幕在线| 精品麻豆av| 国产精品一区高清| 国产午夜精品在线| 网红女主播少妇精品视频| 欧美日韩精品久久久免费观看| 麻豆国产一区| 国产精品日韩欧美一区二区三区| 老牛国内精品亚洲成av人片| 欧美高清视频一区二区三区在线观看| 在线一级成人| gogogo免费高清日本写真| 久久99国内| 神马影院我不卡午夜| 99精品小视频| 日本手机在线视频| 日韩av中文字幕一区二区| 日本高清一区二区视频| 大尺度一区二区| 在线免费黄色网| 成人免费黄色大片| 在线观看福利片| 综合自拍亚洲综合图不卡区| 老熟妇一区二区| 亚洲欧美怡红院| 久久久久噜噜噜亚洲熟女综合| 欧美日韩另类在线| 激情综合网五月婷婷| 欧美视频专区一二在线观看| 中文字幕一二区| 色综合久久66| 国产伦理吴梦梦伦理| 亚洲国产99精品国自产| 第一福利在线| 亚洲欧美在线一区二区| 麻豆av在线导航| 日本aⅴ大伊香蕉精品视频| 国产情侣一区在线| 亚洲精品日产aⅴ| 亚洲欧洲一二区| 国产精品日韩在线一区| 3d性欧美动漫精品xxxx软件| 亚洲最大的网站| 国产精品免费大片| 野外做受又硬又粗又大视频√| 六月丁香婷婷色狠狠久久| 免费黄色三级网站| 亚洲欧美日韩精品久久久久| 黄网站免费在线| 色成人在线视频| 国产第一页在线观看| 日韩欧美亚洲国产另类| 成a人片在线观看www视频| 中文字幕无线精品亚洲乱码一区 | ass极品国模人体欣赏| 亚洲mv大片欧洲mv大片精品| 国产精品23p| 6080午夜不卡| √天堂资源地址在线官网| 555www成人网| 国模一区二区| 农村寡妇一区二区三区| 影音先锋亚洲电影| 毛片av免费在线观看| av爱爱亚洲一区| 国产真实夫妇交换视频| 日韩午夜av电影| 里番在线观看网站| 久久久精品网站| 欧美黑人猛交的在线视频| 国产专区欧美专区| 色135综合网| 无限资源日本好片| 国产欧美一区二区三区鸳鸯浴| 久久免费激情视频| 亚洲福利视频免费观看| 日本片在线观看| 国产99在线免费| 欧美日韩福利| 乳色吐息在线观看| 91麻豆免费看| 啦啦啦免费高清视频在线观看| 亚洲成avwww人| 爱福利在线视频| 国产精品久久久91| 精品国产一区二区三区噜噜噜 | gogo大尺度成人免费视频| 亚洲欧洲另类精品久久综合| 蜜臀av在线播放一区二区三区| 精品熟妇无码av免费久久| 亚洲视频图片小说| 国产乱人乱偷精品视频a人人澡| 一区二区三区四区精品| 91精品国产经典在线观看| 97超级碰碰| 一区在线视频观看| xxxx黄色片| 一本久久a久久免费精品不卡| 久久视频www| 国产精品视频自拍| 久久a爱视频| 国产91对白刺激露脸在线观看| 久久亚洲一级片| 中文永久免费观看| 久久久精品网站| 成人免费直播在线| 男人操女人免费| 国产精品色婷婷| 国产伦精品一区二区三区四区 | 91久久青草| 日韩精品综合在线| 久久先锋影音av鲁色资源| 中文字幕+乱码+中文乱码www| 久久亚洲一区二区三区四区五区高 | 欧美性xxxx| 日本在线观看www| 高清国产在线一区| 免费看亚洲片| 久久av红桃一区二区禁漫| 日韩欧美在线免费| 91精品大全| 97久久人人超碰caoprom欧美 | 欧美一级大片在线免费观看| 精品久久久久久久| 97超碰免费在线观看| 欧美日韩午夜激情| 免费av在线播放| 精品在线视频一区二区| 日本91福利区| 日本三级视频在线| 中文字幕国产日韩| 国产精品网站在线看| 色综合天天色综合| 亚洲第一狼人社区| 欧美性videos| 久久综合给合久久狠狠色| 精品无人码麻豆乱码1区2区 | 成人有码在线播放| 欧美成人精品一区二区三区在线看| 无人码人妻一区二区三区免费| 欧美视频国产精品| 视频在线观看入口黄最新永久免费国产| 欧美不卡三区| 成人性视频免费网站|