成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > Redis為什么快如何實(shí)現(xiàn)高可用及持久化

Redis為什么快如何實(shí)現(xiàn)高可用及持久化

熱門(mén)標(biāo)簽:400電話辦理的口碑 一個(gè)地圖標(biāo)注多少錢(qián) 南京手機(jī)外呼系統(tǒng)廠家 廊坊外呼系統(tǒng)在哪買(mǎi) 高碑店市地圖標(biāo)注app 臺(tái)灣電銷(xiāo) 四川穩(wěn)定外呼系統(tǒng)軟件 地圖標(biāo)注工廠入駐 b2b外呼系統(tǒng)

前言

作為Java程序員,在面試過(guò)程中,緩存相關(guān)的問(wèn)題是躲不掉的,肯定會(huì)問(wèn),例如緩存一致性問(wèn)題,緩存雪崩、擊穿、穿透等。說(shuō)到緩存,那肯定少不了Redis,我在面試的時(shí)候也是被問(wèn)了很多關(guān)于Redis相關(guān)的知識(shí),但是Redis的功能太強(qiáng)大了,并不是一時(shí)半會(huì)兒能掌握好的,因?yàn)橛行└呒?jí)特性或是知識(shí)平時(shí)并不會(huì)用到。
所以回答的不好,人家就會(huì)覺(jué)得你對(duì)自己平時(shí)使用的工具都沒(méi)有了解,自然就涼涼了。其實(shí)很早就有這個(gè)打算,打算好好總結(jié)一下Redis的知識(shí),但也是由于自己都沒(méi)有好好的了解Redis呢,所以一直沒(méi)有開(kāi)始。這次準(zhǔn)備慢慢的來(lái)總結(jié)。

Redis為什么這么快

Redis是一個(gè)由C語(yǔ)言編寫(xiě)的開(kāi)源的,基于內(nèi)存,支持多種數(shù)據(jù)結(jié)構(gòu)可持久化的NoSQL數(shù)據(jù)庫(kù)。
它速度快主要是有以下幾個(gè)原因:

  • 基于內(nèi)存運(yùn)行,性能高效;
  • 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)高效,例如String是由動(dòng)態(tài)字符數(shù)組構(gòu)成,zset內(nèi)部的跳表;
  • 采用單線程,避免了線程的上下文切換,也避免了線程競(jìng)爭(zhēng)產(chǎn)生的死鎖等問(wèn)題;
  • 使用I/O多路復(fù)用模型,非阻塞IO;

官網(wǎng)上給出單臺(tái)Redis的可以達(dá)到10w+的QPS的, 一臺(tái)服務(wù)器上在使用Redis的時(shí)候單核的就夠了,但是目前服務(wù)器都是多核CPU,要想不浪費(fèi)資源,又能提交效率,可以在一臺(tái)服務(wù)器上部署多個(gè)Redis實(shí)例。

高可用方案

雖然單臺(tái)Redis的的性能很好,但是Redis的單節(jié)點(diǎn)并不能保證它不會(huì)掛了啊,畢竟單節(jié)點(diǎn)的Redis是有上限的,而且人家單節(jié)點(diǎn)又要讀又要寫(xiě),小身板扛不住咋辦,所以為了保證高可用,一般都是做成集群。

主從(Master-Slave)

Redis官方是支持主從同步的,而且還支持從從同步,從從同步也可以理解為主從同步,只不過(guò)從從同步的主節(jié)點(diǎn)是另一個(gè)主從的從節(jié)點(diǎn)。

有了主從同步的集群,那么主節(jié)點(diǎn)就負(fù)責(zé)提供寫(xiě)操作,而從節(jié)點(diǎn)就負(fù)責(zé)支持讀操作。

那么他們之間是如何進(jìn)行數(shù)據(jù)同步的呢?

如果Slave(從節(jié)點(diǎn))是第一次跟Master進(jìn)行連接,

  • 那么會(huì)首先會(huì)向Master發(fā)送同步請(qǐng)求psync
  • 主節(jié)點(diǎn)接收到同步請(qǐng)求,開(kāi)始fork主子進(jìn)程開(kāi)始進(jìn)行全量同步,然后生成RDB文件;
  • 這個(gè)時(shí)候主節(jié)點(diǎn)同時(shí)會(huì)將新的寫(xiě)請(qǐng)求,保存到緩存區(qū)(buffer)中;
  • 從節(jié)點(diǎn)接收到RDB文件后,先清空老數(shù)據(jù),然后將RDB中數(shù)據(jù)加載到內(nèi)存中;
  • 等到從節(jié)點(diǎn)將RDB文件同步完成后再同步緩存區(qū)中的寫(xiě)請(qǐng)求。

數(shù)組被占滿之后就會(huì)覆蓋掉最早之前的數(shù)據(jù)。

所以如果由于網(wǎng)絡(luò)或是其他原因,造成緩存區(qū)中的數(shù)據(jù)被覆蓋了,那么當(dāng)從節(jié)點(diǎn)處理完主節(jié)點(diǎn)的RDB文件后,就不得不又要進(jìn)行一全量的RDB文件的復(fù)制,才能保證主從節(jié)點(diǎn)的數(shù)據(jù)一致。

如果不設(shè)置好合理的buffer區(qū)空間,是會(huì)造成一個(gè)RDB復(fù)制的死循環(huán)。

當(dāng)主從間的數(shù)據(jù)同步完成之后,后面主節(jié)點(diǎn)的每次寫(xiě)操作就都會(huì)同步到從節(jié)點(diǎn),這樣進(jìn)行增量同步了。

由于負(fù)載的不斷上升就導(dǎo)致了主從之間的延時(shí)變大,所以就有了上面我說(shuō)的從從同步了,主節(jié)點(diǎn)先同步到一部分從節(jié)點(diǎn),然后由從節(jié)點(diǎn)去同步其他的從節(jié)點(diǎn)。

在Redis從2.8.18開(kāi)始支持無(wú)盤(pán)復(fù)制,主節(jié)點(diǎn)通過(guò)套接字,一邊遍歷內(nèi)存中的數(shù)據(jù),一邊讓數(shù)據(jù)發(fā)送給從節(jié)點(diǎn),從節(jié)點(diǎn)和之前一樣,先將數(shù)據(jù)存儲(chǔ)在磁盤(pán)文件中,然后再一次性加載。

另外由于主從同步是異步的,所以從Redis3.0之后出現(xiàn)了同步復(fù)制,就是通過(guò)wait命令來(lái)進(jìn)行控制,wait命令有兩個(gè)參數(shù),第一個(gè)是從庫(kù)數(shù)量,第二個(gè)是等待從庫(kù)的復(fù)制時(shí)間,如果第二個(gè)參數(shù)設(shè)置為0,那么就是代表要等待所有從庫(kù)都復(fù)制完才去執(zhí)行后面的命令。
但是這樣就會(huì)存在一個(gè)隱患,當(dāng)網(wǎng)絡(luò)異常后,wait命令會(huì)一直阻塞下去,導(dǎo)致Redis不可用。

哨兵(Sentinel)

哨兵可以監(jiān)控Redis集群的健康狀態(tài),當(dāng)主節(jié)點(diǎn)掛掉之后,選舉出新的主節(jié)點(diǎn)。客戶端在使用Redis的時(shí)候會(huì)先通過(guò)Sentinel來(lái)獲取主節(jié)點(diǎn)地址,然后再通過(guò)主節(jié)點(diǎn)來(lái)進(jìn)行數(shù)據(jù)交互。當(dāng)主節(jié)點(diǎn)掛掉之后,客戶端會(huì)再次向Sentinel獲取主節(jié)點(diǎn),這樣客戶端就可以無(wú)感知的繼續(xù)使用了。

哨兵集群工作過(guò)程,主節(jié)點(diǎn)掛掉之后會(huì)選舉出新的主節(jié)點(diǎn),然后監(jiān)控掛掉的節(jié)點(diǎn),當(dāng)掛掉的節(jié)點(diǎn)恢復(fù)后,原先的主節(jié)點(diǎn)就會(huì)變成從節(jié)點(diǎn),從新的主節(jié)點(diǎn)那里建立主從關(guān)系。

集群分片(Redis Cluster)

Redis Cluster是Redis官方推薦的集群模式,Redis Cluster將所有數(shù)據(jù)劃分到16384個(gè)槽(slots)中,每個(gè)節(jié)點(diǎn)負(fù)責(zé)一部分槽位的讀寫(xiě)操作。

存儲(chǔ)

Redis Cluster默認(rèn)是通過(guò)CRC16算法獲取到key的hash值,然后再對(duì)16384進(jìn)行取余(CRC16(key)%16384),獲取到的槽位在哪個(gè)節(jié)點(diǎn)負(fù)責(zé)的范圍內(nèi)(這里一般是會(huì)有一個(gè)槽位和節(jié)點(diǎn)的映射表來(lái)進(jìn)行快速定位節(jié)點(diǎn)的,通常使用bitmap來(lái)實(shí)現(xiàn)),就存儲(chǔ)在哪個(gè)節(jié)點(diǎn)上。

重定向

當(dāng)Redis Cluster的客戶端在和集群建立連接的時(shí)候,也會(huì)獲得一份槽位和節(jié)點(diǎn)的配置關(guān)系(槽位和節(jié)點(diǎn)的映射表),這樣當(dāng)客戶端要查找某個(gè)key時(shí),可以直接定位到目標(biāo)節(jié)點(diǎn)。

但是當(dāng)客戶端發(fā)送請(qǐng)求時(shí),如果接收請(qǐng)求的節(jié)點(diǎn)發(fā)現(xiàn)該數(shù)據(jù)的槽位并不在當(dāng)前節(jié)點(diǎn)上,那么會(huì)返回MOVED指令將正確的槽位和節(jié)點(diǎn)信息返回給客戶端,客戶接著請(qǐng)求正確的節(jié)點(diǎn)獲取數(shù)據(jù)。

一般客戶端在接收到MOVED指令后,也會(huì)更新自己本地的槽位和節(jié)點(diǎn)的映射表,這樣下次獲取數(shù)據(jù)時(shí)就可以直接命中了。這整個(gè)重定向的過(guò)程對(duì)客戶端是透明的。

數(shù)據(jù)遷移

當(dāng)集群中新增節(jié)點(diǎn)或刪除節(jié)點(diǎn)后,節(jié)點(diǎn)間的數(shù)據(jù)遷移是按槽位為單位的,一個(gè)槽位一個(gè)槽位的遷移,當(dāng)遷移時(shí)原節(jié)點(diǎn)狀態(tài)處于:magrating,目標(biāo)節(jié)點(diǎn)處于:importing

在遷移過(guò)程中,客戶端首先訪問(wèn)舊節(jié)點(diǎn),如果數(shù)據(jù)還在舊節(jié)點(diǎn),那么舊節(jié)點(diǎn)正常處理,如果不在舊節(jié)點(diǎn),就會(huì)返回一個(gè)-ASK + 目標(biāo)節(jié)點(diǎn)地址的指令,客戶端收到這個(gè)-ASK指令后,向目標(biāo)節(jié)點(diǎn)執(zhí)行一個(gè)asking指令(告訴新節(jié)點(diǎn),必須處理客戶端這個(gè)數(shù)據(jù)),然后再向目標(biāo)節(jié)點(diǎn)執(zhí)行客戶端的訪問(wèn)數(shù)據(jù)的指令。

容錯(cuò)

Redis Cluster可以為每個(gè)主節(jié)點(diǎn)設(shè)置多個(gè)從節(jié)點(diǎn),當(dāng)單個(gè)主節(jié)點(diǎn)掛掉后,集群會(huì)自動(dòng)將其中某個(gè)從節(jié)點(diǎn)提升為主節(jié)點(diǎn),若沒(méi)有從節(jié)點(diǎn),那么集群將處于不可用狀態(tài)。
Redis提供了一個(gè)參數(shù):cluster-require-full-coverage,用來(lái)配置可以允許部分節(jié)點(diǎn)出問(wèn)題后,還有其他節(jié)點(diǎn)在運(yùn)行時(shí)可以正常提供服務(wù)。

另外一點(diǎn)比較特殊的是,Cluster中當(dāng)一個(gè)節(jié)點(diǎn)發(fā)現(xiàn)某個(gè)其他節(jié)點(diǎn)出現(xiàn)失聯(lián)了,這個(gè)時(shí)候問(wèn)題節(jié)點(diǎn)只是PFailPossibly-可能下線),然后它會(huì)把這個(gè)失聯(lián)信息廣播給其他節(jié)點(diǎn),當(dāng)一個(gè)節(jié)點(diǎn)接收到某個(gè)節(jié)點(diǎn)的失聯(lián)信息達(dá)到集群的大多數(shù)時(shí),就可以將失聯(lián)節(jié)點(diǎn)標(biāo)記為下線,然后將下線信息廣播給其他節(jié)點(diǎn)。若失聯(lián)節(jié)點(diǎn)為主節(jié)點(diǎn),那么將立即對(duì)該節(jié)點(diǎn)進(jìn)行主從切換。

Redis高可用就先說(shuō)到這里吧,后面其實(shí)還有Codis,但是目前Cluster逐漸流行起來(lái)了,Codis的競(jìng)爭(zhēng)力逐漸被蠶食,而且對(duì)新版本的支持,更新的也比較慢,所以這里就不說(shuō)它了,感興趣的可以自己去了解一下,國(guó)人開(kāi)源的Redis集群模式Codis。

持久化

Redis持久化的意義在于,當(dāng)出現(xiàn)宕機(jī)問(wèn)題后,能將數(shù)據(jù)恢復(fù)到緩存中,它提供了兩種持久化機(jī)制:一種是快照(RDB),一種是AOF日志。

快照是一次全量備份,而AOF是增量備份??煺帐莾?nèi)存數(shù)據(jù)的二進(jìn)制序列化形式,存儲(chǔ)上非常緊湊,而AOF日志記錄的是內(nèi)存數(shù)據(jù)修改的指令記錄文本。

快照備份(RDB)

因?yàn)镽edis是單線程的,所以在做快照持久化的時(shí)候,通常有兩個(gè)選擇,save命令,會(huì)阻塞線程,直到備份完成;bgsave會(huì)異步的執(zhí)行備份,其實(shí)是fork出了一個(gè)子進(jìn)程,用子進(jìn)程去執(zhí)行快照持久化操作,將數(shù)據(jù)保存在一個(gè).rdb文件中。

子進(jìn)程剛剛產(chǎn)生的時(shí)候,是和父進(jìn)程共享內(nèi)存中的數(shù)據(jù)的,但是子進(jìn)程做持久化時(shí),是不會(huì)修改數(shù)據(jù)的,而父進(jìn)程是要持續(xù)提供服務(wù)的,所以父進(jìn)程就會(huì)持續(xù)的修改內(nèi)存中的數(shù)據(jù),這個(gè)時(shí)候父進(jìn)程就會(huì)將內(nèi)存中的數(shù)據(jù),Copy出一份來(lái)進(jìn)行修改。

父進(jìn)程copy的數(shù)據(jù)是以數(shù)據(jù)頁(yè)為單位的(4k一頁(yè)),對(duì)那一頁(yè)數(shù)據(jù)進(jìn)行修改就copy哪一頁(yè)的數(shù)據(jù)。

子進(jìn)程由于數(shù)據(jù)沒(méi)有變化就會(huì)一直的去遍歷數(shù)據(jù),進(jìn)程持久化操作了,這就是只保留了創(chuàng)建子進(jìn)程的時(shí)候的快照。

那么RDB是在什么時(shí)候觸發(fā)的呢?

# save seconds> changes>
save 60 10000
save 300 10 

上這段配置就是在redis.conf文件中配置的,第一個(gè)參數(shù)是時(shí)間單位是秒,第二個(gè)參數(shù)執(zhí)行數(shù)據(jù)變化的次數(shù)。
意思就是說(shuō):300秒之內(nèi)至少發(fā)生10次寫(xiě)操作、
60秒之內(nèi)發(fā)生至少10000次寫(xiě)操作,只要滿足任一條件,均會(huì)觸發(fā)bgsave

增量日志備份(AOF)

Redis在接收到客戶端請(qǐng)求指令后,會(huì)先進(jìn)行校驗(yàn),校驗(yàn)成功后,立即將指令存儲(chǔ)到AOF日志文件中,就是說(shuō),Redis是先記錄日志,再執(zhí)行命令。這樣即使命令還沒(méi)執(zhí)行突然宕機(jī)了,通過(guò)AOF日志文件也是可以恢復(fù)的。

AOF重寫(xiě)

AOF日志文件,隨著時(shí)間的推移,會(huì)越來(lái)越大,所以就需要進(jìn)行重寫(xiě)瘦身。AOF重寫(xiě)的原理就是,fork一個(gè)子進(jìn)程,對(duì)內(nèi)存進(jìn)行遍歷,然后生成一系列的Redis指令,然后序列化到一個(gè)新的aof文件中。然后再將遍歷內(nèi)存階段的增量日志,追加到新的aof文件中,追加完成后立即替換舊的aof文件,這樣就完成了AOF的瘦身重寫(xiě)。

fsync

因?yàn)锳OF是一個(gè)寫(xiě)文件的IO操作,是比較耗時(shí)。所以AOF日志并不是直接寫(xiě)入到日志文件的,而是先寫(xiě)到一個(gè)內(nèi)核的緩存中,然后通過(guò)異步刷臟,來(lái)將數(shù)據(jù)保存到磁盤(pán)的。

由于這個(gè)情況,就導(dǎo)致了會(huì)有還沒(méi)來(lái)得急刷臟然后就宕機(jī)了,導(dǎo)致數(shù)據(jù)丟失的風(fēng)險(xiǎn)。

所以Redis提供了一個(gè)配置,可以手動(dòng)的來(lái)選擇刷臟的頻率。

  • always:每一條AOF記錄都立即同步到文件,性能很低,但較為安全。
  • everysec:每秒同步一次,性能和安全都比較中庸的方式,也是redis推薦的方式。如果遇到物理服務(wù)器故障,可能導(dǎo)致最多1秒的AOF記錄丟失。
  • no:Redis永不直接調(diào)用文件同步,而是讓操作系統(tǒng)來(lái)決定何時(shí)同步磁盤(pán)。性能較好,但很不安全。

AOF默認(rèn)是關(guān)閉的,需要在配置文件中手動(dòng)開(kāi)啟。

# 只有在“yes”下,aof重寫(xiě)/文件同步等特性才會(huì)生效 
appendonly yes 
## 指定aof文件名稱(chēng) 
appendfilename appendonly.aof 
## 指定aof操作中文件同步策略,有三個(gè)合法值:always everysec no,默認(rèn)為everysec 
appendfsync everysec 
## 在aof-rewrite期間,appendfsync是否暫緩文件同步,"no"表示“不暫緩”,“yes”表示“暫緩”,默認(rèn)為“no” 
no-appendfsync-on-rewrite no 
## aof文件rewrite觸發(fā)的最小文件尺寸(mb,gb),只有大于此aof文件大于此尺寸是才會(huì)觸發(fā)rewrite,默認(rèn)“64mb”,建議“512mb” 
auto-aof-rewrite-min-size 64mb 

Redis4.0混合持久化

Redis4.0提供了一種新的持久化機(jī)制,就是RDB和AOF結(jié)合使用,將rdb文件內(nèi)容和aof文件存在一起,AOF中保存的不再是全部數(shù)據(jù)了,而是從RDB開(kāi)始的到結(jié)束的增量日志。

這樣在Redis恢復(fù)數(shù)據(jù)的時(shí)候,可以先假裝RDB文件中的內(nèi)容,然后在順序執(zhí)行AOF日志中指令,這樣就將Redis重啟時(shí)恢復(fù)數(shù)據(jù)的效率得到了大幅度提升。

結(jié)尾

恩,這次就先總結(jié)到這里吧,后面會(huì)繼續(xù)總結(jié)Redis相關(guān)知識(shí),LRU、LFU、內(nèi)存淘汰策略,管道等等。

到此這篇關(guān)于Redis為什么快如何實(shí)現(xiàn)高可用及持久化的文章就介紹到這了,更多相關(guān)redis持久化高可用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Redis不是一直號(hào)稱(chēng)單線程效率也很高嗎,為什么又采用多線程了?
  • redis單線程快的原因和原理
  • Redis憑啥可以這么快
  • 為啥Redis使用pipelining會(huì)更快
  • Redis高效率原因及數(shù)據(jù)結(jié)構(gòu)分析

標(biāo)簽:定州 南寧 伊春 甘南 河源 畢節(jié) 泰州 拉薩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Redis為什么快如何實(shí)現(xiàn)高可用及持久化》,本文關(guān)鍵詞  Redis,為什么,快,如何,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Redis為什么快如何實(shí)現(xiàn)高可用及持久化》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Redis為什么快如何實(shí)現(xiàn)高可用及持久化的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    中文字幕永久有效| 日本a级c片免费看三区| 91国产免费看| 亚洲美女区一区| 久久久国产精品不卡| 黄色一级视频在线播放| 久久久久久久久久久国产精品| gogo人体高清视频| 精品国产欧美一区二区三区成人| 国产av一区二区三区精品| 再深点灬舒服灬太大了少妇| 99久久自偷自偷国产精品不卡| 亚洲视频资源在线| 日本韩国福利视频| 亚洲成a人片77777kkkk| 欧美老熟妇乱大交xxxxx| 婷婷视频在线播放| 亚洲一区二区久久久久久久| 亚洲女同精品视频| 亚洲男帅同性gay1069| 51精产品一区一区三区| 欧美亚洲国产激情| 欧美亚洲在线观看| 国产一区二区片| 国产精品久久久久久久9999| 日本精品久久久久中文字幕| 中文字幕人妻一区| av免费在线网址| 中文字幕乱码人妻无码久久| 国产精品毛片一区二区在线看舒淇| 日本福利一区二区| 国产91国语对白在线| 久久久精品久久久久久96| 国产精品亚洲d| 国产精品伦一区| 黄色免费看片| 羞羞网www| 欧美wwwsss9999| 中文字幕免费不卡| 成人国产免费视频| fc2ppv在线播放| 一级性生活免费视频| 国产亚洲视频中文字幕视频| 亚洲精品视频一二三| 亚洲私人黄色宅男| 久久久天堂av| 屁屁影院在线观看| 初高中福利视频网站| 久久精品国产免费| 日韩免费影院| 蜜臀av一区二区三区有限公司| 妞干网在线免费视频| 国产一级不卡视频| 一区二区三区中文字幕精品精品| 亚洲一区二区久久久| 一级片a一级片| 老司机精品视频导航| 一区二区三区视频| 久久精品99久久| 精品国产乱码久久久久久丨区2区| 精品国产一区二区三区久久狼5月| youjizz.com亚洲| 尤物yw193can在线观看| 国产亚洲成人av| 麻豆最新免费在线视频| 毛片视频免费观看| 中文字幕免费高清在线| 亚洲一区二区三区中文字幕在线观看| 成人好色电影| 中文字幕你懂得| sis001欧美| 欧美浪妇xxxx高跟鞋交| 91论坛在线播放| 中文字幕第八页| 亚洲第一综合网站| 五月婷婷六月丁香激情| 亚洲精品一区二区三区四区五区| 中文天堂在线一区| 在线午夜影院| 黄色网页网址在线免费| 久久一级大片| 国产精品久久777777毛茸茸| 天堂av电影在线观看| 欧美日韩aaaaaa| 九九九伊在人线综合| 国产精品电影久久久久电影网| 欧美成人三级在线观看| 日韩毛片无码永久免费看| 欧美亚洲视频在线观看| 国产酒店精品激情| 欧美三级欧美一级| 玖玖精品一区| 亚洲精品第一国产综合野草社区| av网站有哪些| 91伊人久久| 蜜桃久久精品乱码一区二区| 国产在线综合网| 国产日本在线观看| 欧美一区免费观看| 国产精品美女av| 伊人网在线免费| 黄网址在线播放免费| 亚洲欧美日韩一区二区三区在线| 国产一级激情| 免费极品av一视觉盛宴| 国产亚洲精品久久久久久无几年桃| gratisvideos另类灌满| 国产午夜一区二区| 国产欧美日韩亚洲一区二区三区| 日韩一区二区三区国产| 精品久久久久久久久久久| 日韩中文字幕国产| 91极品视频在线观看| 成人亚洲精品久久久久软件| 特黄国产免费播放| 久久久国产影院| 日韩精品无码一区二区三区久久久| 麻豆av免费观看| 免费av一区二区三区| 亚洲人妖在线| **性色生活片久久毛片| 日产欧产美韩系列久久99| 日韩午夜在线电影| 51精产品一区一区三区| 日本精品久久| 精品国产一级毛片| 中文字幕第80页| 97久久天天综合色天天综合色hd| 99re8这里有精品热视频8在线| 91精品啪在线观看国产60岁| 欧美伦理一区二区| 中文字幕一区二区三区在线视频| 欧美精品一区二区蜜臀亚洲| 成 年 人 黄 色 大 片大 全| 欧美刺激午夜性久久久久久久| 久久免费精品国产| www中文字幕| 男人的天堂一区| 97电影在线看视频| 亚洲欧美一区二区三| 不卡一区综合视频| 欧美高清另类hdvideosexjaⅴ| 菠萝菠萝蜜网站| 国产精品影视天天线| 日本中文字幕亚洲| 伊人影院综合在线| 日本成人7777| 欧美日韩日本视频| 国产精品视频精品视频| 久久精品一区二区三区四区五区| 国产亚洲欧美色| 无码人妻av一区二区三区波多野| 羞羞免费视频| 亚洲激情男女视频| 日韩高清中文字幕一区| 国产精品人妻一区二区三区| 粉嫩高清一区二区三区精品视频| 柠檬在线导航福利| 乱一区二区av| 182午夜视频| 亚洲精品99| 欧美日韩亚洲国内综合网俺| 一区二区三区在线资源| 久久丁香四色| 日韩一级片免费视频| 亚洲天堂精品在线| 免费在线a视频| 色综合久久天天| 久久人人爽人人爽人人片亚洲| 亚洲欧美精品久久| 中文字幕免费高清视频| 国产在线观看91一区二区三区| 调教视频免费在线观看| 五月婷婷狠狠操| 最近2019中文字幕大全第二页| 成人免费视频在线观看超级碰| 男女视频网站免费观看| 无码人妻精品一区二区50| 国产精品嫩草视频| 亚洲综合精品一区二区| 日韩性xxx| 91精品国产综合久久精品图片| 国产日产精品一区二区三区| 亚洲综合av一区二区三区| 变态另类ts人妖一区二区| 97久久人人超碰caoprom欧美| 日韩电影中文字幕在线| 91传媒视频在线播放| 中文字幕激情小说| 免费h片在线| 亚洲精品福利电影| 欧美日韩国产中文字幕| 日本一区二区三区dvd视频在线| 亚洲精品乱码久久久久久金桔影视| 夜夜摸视频网| 欧美精品videossex变态| 蜜桃av在线免费观看| 免费在线观看一区二区| 成人影院在线观看视频| 精品国产美女在线| 麻豆国产一区二区三区四区| 国产精品免费aⅴ片在线观看| 午夜免费啪视频观看视频| 希岛爱理一区二区三区av高清| 蜜桃传媒一区二区亚洲av| 亚洲欧美另类中文字幕| 亚洲你懂的在线视频| 日本福利视频一区| 91黄色激情网站| 国产欧美一区二区三区四区| 亚洲欧美偷拍另类| 精品综合久久久| 澳门av一区二区三区| 免费日韩视频在线观看| 亚洲精品午夜级久久久久| 7777奇米亚洲综合久久| 91精品91| 国产精品无码人妻一区二区在线| 成人黄色在线观看| yellow视频在线观看一区二区| 亚洲人成网7777777国产| 99国产精品免费视频观看| 2020天天操| 99久久精品免费看国产免费软件| 影音先锋在线影院| 四虎地址8848精品| 亚洲男人的天堂在线aⅴ视频| 日韩精品在线视频| 免费在线观看av的网站| 91麻豆精品久久毛片一级| 亚洲v天堂v手机在线| 免费**毛片在线| 亚洲国产精品99久久| 亚洲小说图片区| 2022国产精品| 哪个网站能看毛片| 国产吞精囗交久久久| 亚洲综合成人av| 制服影音先锋| 一区二区三区国产精品| 久久久久亚洲视频| 久久久久88色偷偷免费| 日韩视频一区二区三区在线播放| 久久99国产精品久久99| 国产精品无码一区二区三区免费| 国产成人天天5g影院| 天天色天天干天天| 国产日韩精品综合网站| 久久精品视频在线免费观看| 色窝窝无码一区二区三区成人网站| 日韩高清免费在线| 九九热视频这里只有精品| 久久成人免费| 国产91在线看| 欧美又大粗又爽又黄大片视频| 欧美激情国产在线| 亚洲天堂国产精品| 在线免费看av网站| www.浪潮av.com| 伊人久久一区二区三区| 国产一区二区视频在线观看| 国产一级做a爱免费视频| 青檬在线电视剧在线观看| 久久久精品视频成人| 不卡一区综合视频| 欧美日韩福利在线观看| 国产精品宾馆在线精品酒店| 国产在线资源一区| 香蕉视频免费在线看| 日韩美女爱爱视频| 92福利视频午夜1000合集在线观看| 亚洲成人av免费在线观看| 国产精品12区| 国产无遮挡又黄又爽又色视频| 欧美 日韩 成人| 偷偷操不一样的久久| 欧美三级一区| 国产精品久久久久7777按摩| 国产一区二区三区不卡在线观看| 日韩欧乱色一区二区三区在线| 久久riav二区三区| 亚洲国产精品悠悠久久琪琪| 一区二区三区韩国| 久久精品久久国产| 北条麻妃一区二区三区| 欧美性受xxxx黑人猛交| 亚洲第一免费网站| 国产精品综合久久久久| 综合激情网站| 亚洲欧美综合国产精品一区| 日日噜噜噜噜夜夜爽亚洲精品| 日韩精品一区二区三区外面| 成人在线高清免费| 欧美三级电影在线看| 欧美电影免费网站| 91在线看黄| 成人精品在线视频观看| 欧美日韩一区二区在线播放| 欧美性高潮床叫视频| 国产一区二区不卡视频在线观看| 久久青青草综合| 色偷偷偷亚洲综合网另类| 久久成人国产精品| 视频一区在线播放| 国产欧美在线播放| 欧美日韩在线不卡一区| 伊人久久大香线蕉成人综合网| 91精品1区| 成人黄网大全在线观看| 久久天天躁夜夜躁狠狠躁2022| 黄色一区二区三区四区| 欧美电影网址| 三级做a全过程在线观看| 国产精品无码一区二区三区免费| 亚洲一区二区久久久久久| 亚洲视频大全| 亚洲永久无码7777kkk| 欧美日韩午夜视频| 要久久爱电视剧全集完整观看| 午夜国产福利在线观看| 日韩精品久久久| 激情欧美成人久久综合小说| 亚洲欧美另类色图| 亚洲色图88| 伦一区二区三区中文字幕v亚洲| 亚洲精品一区在线观看| 毛片av免费在线观看| 亚洲综合网在线|