日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

Redis源码剖析(十)简单动态字符串sds

發(fā)布時(shí)間:2024/4/19 数据库 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis源码剖析(十)简单动态字符串sds 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在對(duì)象系統(tǒng)概述中發(fā)現(xiàn),好像所有和字符串有關(guān)的內(nèi)容都有sds的存在,實(shí)際上,它是Redis內(nèi)部對(duì)于c字符串的封裝,所謂c字符串,其實(shí)就是char *,在sds.h頭文件中可以清楚的看到它的定義

//sds.h typedef char *sds;

所以創(chuàng)建sds類型變量實(shí)際上就是創(chuàng)建了一個(gè)char*變量,不過(guò)Redis字符串獨(dú)特的地方在于它記錄了字符串的長(zhǎng)度。考慮想要計(jì)算c原生字符串的長(zhǎng)度,需要使用strlen函數(shù),該函數(shù)會(huì)遍歷字符串直到遇到’\0’,復(fù)雜度是O(n),這容易造成性能瓶頸,所以Redis在創(chuàng)建字符串時(shí)記錄了字符串的長(zhǎng)度,只需要O(1)即可計(jì)算得到

字符串結(jié)構(gòu)

Redis字符串不僅僅保存實(shí)際的數(shù)據(jù),還保存著用于記錄長(zhǎng)度的頭部信息。假設(shè)要?jiǎng)?chuàng)建一個(gè)長(zhǎng)度為n的字符串,那么Redis會(huì)申請(qǐng)大于n的內(nèi)存空間,其中,后半部分存儲(chǔ)字符串?dāng)?shù)據(jù),前半部分保存字符串頭部信息,Redis會(huì)根據(jù)字符串的長(zhǎng)度選擇不同的頭部編碼

//sds.h /* * 字符串Header的定義,在字符串前面存放一個(gè)Header,用于記錄字符串的信息* __attribute__ ((__packed__))是通知編譯器使用緊湊模式分配內(nèi)存* 由于內(nèi)存對(duì)齊的原因,編譯器可能會(huì)在任意位置添加字節(jié)以滿足對(duì)齊條件* 該聲明告知編譯器在成員變量之間不能插入字節(jié),要插就在頭尾插* 原因是如果在中間插會(huì)破壞內(nèi)存結(jié)構(gòu),導(dǎo)致直接進(jìn)行char*加法無(wú)法準(zhǔn)確獲取數(shù)據(jù) * */ struct __attribute__ ((__packed__)) sdshdr5 {unsigned char flags; char buf[]; };/* * 不同長(zhǎng)度字符串采用不同的Header結(jié)構(gòu)以節(jié)約內(nèi)存* len : 字符串?dāng)?shù)據(jù)真正長(zhǎng)度,已容納的字符數(shù),不包括結(jié)尾字符'\0'* alloc : 字符串?dāng)?shù)據(jù)的最大容量,可以容納多少個(gè)字符,不包括結(jié)尾字符'\0'* flags : Header的類型,總共5中,但是sdshdr5已經(jīng)不再使用* buf : 實(shí)際存儲(chǔ)字符串的位置*/ struct __attribute__ ((__packed__)) sdshdr8 {uint8_t len; uint8_t alloc; unsigned char flags; char buf[]; }; struct __attribute__ ((__packed__)) sdshdr16 {uint16_t len; uint16_t alloc; unsigned char flags; char buf[]; }; struct __attribute__ ((__packed__)) sdshdr32 {uint32_t len; uint32_t alloc; unsigned char flags; char buf[]; }; struct __attribute__ ((__packed__)) sdshdr64 {uint64_t len; uint64_t alloc; unsigned char flags;char buf[]; };

其中,flags記錄著當(dāng)前頭部采用的編碼格式,由宏定義指出

//sds.h #define SDS_TYPE_5 0 #define SDS_TYPE_8 1 #define SDS_TYPE_16 2 #define SDS_TYPE_32 3 #define SDS_TYPE_64 4

這么做的原因是為了節(jié)省內(nèi)存,如果一個(gè)字符串的長(zhǎng)度使用uint8_t就可以保存,那么使用uint64_t就顯得多余了,還記得嗎,Redis正在努力節(jié)省內(nèi)存

前面也看到了,sds就是char*的類型別名,所以平常使用的sds實(shí)際上是指sdshdr中的buf部分,那么怎么獲取頭部信息呢,Redis保證為sdshdr和buf中的字符串申請(qǐng)的內(nèi)存是連續(xù)的,也就是說(shuō)如果sds指向buf的首地址,那么sds-1就指向頭部信息中的flags地址,sds-n就可以獲取長(zhǎng)度和容量地址(n需要根據(jù)flags表示的編碼格式計(jì)算)

由于Redis中使用長(zhǎng)度記錄字符串的結(jié)束位置,而不是依賴于’\0’,這使Redis中的字符串是二進(jìn)制安全的,因?yàn)樵诙M(jìn)制文件中,可能會(huì)存在多個(gè)’\0’,如果僅僅使用c語(yǔ)言原生字符串,那么很多數(shù)據(jù)都會(huì)丟失

字符串操作

創(chuàng)建字符串

字符串創(chuàng)建工作由sdsnewlen函數(shù)完成,函數(shù)首先根據(jù)字符串長(zhǎng)度找到合適的頭部編碼,然后一次性申請(qǐng)頭部和字符串?dāng)?shù)據(jù)的內(nèi)存,完成初始化工作后,返回字符串?dāng)?shù)據(jù)

//sds.c /* 申請(qǐng)長(zhǎng)度為initLen的字符串,如果init不為空,那么將init的數(shù)據(jù)復(fù)制到字符串中 */ sds sdsnewlen(const void *init, size_t initlen) {void *sh;sds s;/* 根據(jù)字符串長(zhǎng)度選擇合適的頭部編碼 */char type = sdsReqType(initlen);/* sdshdr5已經(jīng)不再使用,默認(rèn)使用sdshdr8代替 */if (type == SDS_TYPE_5 && initlen == 0) type = SDS_TYPE_8;/* 獲取選擇的頭部大小,用于申請(qǐng)內(nèi)存 */int hdrlen = sdsHdrSize(type);unsigned char *fp; /* flags pointer. *//* 宏定義,調(diào)用的是zmalloc, 加1是為了保存'\0' *//* 一次性申請(qǐng)可以保存頭部信息和字符串?dāng)?shù)據(jù)的內(nèi)存空間,確保內(nèi)存是連續(xù)的 */sh = s_malloc(hdrlen+initlen+1);/* 如果給定的地址是null,那么就初始化分配的內(nèi)存為0,否則,執(zhí)行拷貝工作 */if (!init)memset(sh, 0, hdrlen+initlen+1);if (sh == NULL) return NULL;/* sh指向頭部,為了獲取字符串?dāng)?shù)據(jù),需要跳過(guò)頭部?jī)?nèi)存 * s指向?qū)嶋H用于保存數(shù)據(jù)的地址 */s = (char*)sh+hdrlen;/* s-1是Header中flags的地址 */fp = ((unsigned char*)s)-1;switch(type) {case SDS_TYPE_5: {*fp = type | (initlen << SDS_TYPE_BITS);break;}case SDS_TYPE_8: {/* 獲取不同類型的Header的指針 */SDS_HDR_VAR(8,s);/* 設(shè)置屬性,首次申請(qǐng)的容量和數(shù)據(jù)長(zhǎng)度相等 */sh->len = initlen;sh->alloc = initlen;*fp = type;break;}case SDS_TYPE_16: {SDS_HDR_VAR(16,s);sh->len = initlen;sh->alloc = initlen;*fp = type;break;}case SDS_TYPE_32: {SDS_HDR_VAR(32,s);sh->len = initlen;sh->alloc = initlen;*fp = type;break;}case SDS_TYPE_64: {SDS_HDR_VAR(64,s);sh->len = initlen;sh->alloc = initlen;*fp = type;break;}}/* 如果給定地址不為null,執(zhí)行拷貝工作 */if (initlen && init)memcpy(s, init, initlen);/* 設(shè)置結(jié)束字符,多申請(qǐng)1個(gè)字節(jié)的原因 */s[initlen] = '\0';/* 返回字符串?dāng)?shù)據(jù)部分 */return s; }

SDS_HDR_VAR是宏定義,根據(jù)頭部編碼和字符串?dāng)?shù)據(jù)地址s獲取頭部地址,只需要數(shù)據(jù)地址減去頭部長(zhǎng)度即可,其中##用于連接左右兩部分

//sds.h /* 獲取字符串Header的屬性值,##作用是將前后兩部分連在一起,即sdshdr##32 == sdshdr32(此時(shí)T為32) */ #define SDS_HDR_VAR(T,s) struct sdshdr##T *sh = (void*)((s)-(sizeof(struct sdshdr##T)));

sdsReqType函數(shù)用于根據(jù)字符串長(zhǎng)度選擇合適的頭部編碼

//sds.c /* 根據(jù)字符串長(zhǎng)度選擇合適的頭部編碼,需要找到足夠容納并且最小的編碼格式 */ static inline char sdsReqType(size_t string_size) {/* 2的5次方,使用SDS_TYPE_5 */if (string_size < 1<<5)return SDS_TYPE_5;/* 2的8次方,使用uint8_t */if (string_size < 1<<8)return SDS_TYPE_8;/* 使用uint16_t */if (string_size < 1<<16)return SDS_TYPE_16;/* uint32_t */if (string_size < 1ll<<32)return SDS_TYPE_32;/* uint64_t */return SDS_TYPE_64; }

獲取字符串長(zhǎng)度

獲取字符串長(zhǎng)度只需要從頭部信息中讀取,時(shí)間復(fù)雜度為O(1)

//sds.h /* 獲取字符串長(zhǎng)度,先獲取頭部編碼,然后地址前移,找到頭部地址,獲取長(zhǎng)度 */ static inline size_t sdslen(const sds s) {/* 獲取頭部編碼 */unsigned char flags = s[-1];/* 選擇對(duì)應(yīng)的頭部編碼,獲取頭部地址,返回長(zhǎng)度 */switch(flags&SDS_TYPE_MASK) {case SDS_TYPE_5:return SDS_TYPE_5_LEN(flags);case SDS_TYPE_8:return SDS_HDR(8,s)->len;case SDS_TYPE_16:return SDS_HDR(16,s)->len;case SDS_TYPE_32:return SDS_HDR(32,s)->len;case SDS_TYPE_64:return SDS_HDR(64,s)->len;}return 0; }

因?yàn)轭^部編碼類型的宏定義分別是0,1,2,3,4,所以這里flags與類型掩碼做與運(yùn)算只是讓flags的值在0到4之間,SDS_TYPE_MASK實(shí)際上是7

獲取字符串剩余容量

獲取字符串的剩余容量只需要用總?cè)萘繙p去已用容量,由sdsavail函數(shù)完成,函數(shù)大體和sdslen相同

//sds.h /* * 返回剩余可利用的內(nèi)存大小,利用Header中的alloc和len屬性* alloc : 保存字符串的總?cè)萘? len : 實(shí)際存儲(chǔ)的大小*/ static inline size_t sdsavail(const sds s) {unsigned char flags = s[-1];switch(flags&SDS_TYPE_MASK) {case SDS_TYPE_5: {return 0;}case SDS_TYPE_8: {SDS_HDR_VAR(8,s);//和sdslen函數(shù)相比僅僅是返回?cái)?shù)據(jù)不同return sh->alloc - sh->len;}case SDS_TYPE_16: {SDS_HDR_VAR(16,s);return sh->alloc - sh->len;}case SDS_TYPE_32: {SDS_HDR_VAR(32,s);return sh->alloc - sh->len;}case SDS_TYPE_64: {SDS_HDR_VAR(64,s);return sh->alloc - sh->len;}}return 0; }

字符串容量擴(kuò)充

sdsMakeRoomFor函數(shù)用于將字符串?dāng)U充,擴(kuò)充的目的通常用于和其他字符串拼接

//sds.c /* 為s的字符串申請(qǐng)更大的容量已容納addLen個(gè)字節(jié)(Header中的alloc記錄當(dāng)前字符串的總?cè)萘? */ sds sdsMakeRoomFor(sds s, size_t addlen) {void *sh, *newsh;/* 獲取s字符串剩余可利用的字節(jié)大小,Header中的總?cè)萘?alloc) - 當(dāng)前大小(len) */size_t avail = sdsavail(s);size_t len, newlen;char type, oldtype = s[-1] & SDS_TYPE_MASK;int hdrlen;/* Return ASAP if there is enough space left. *//* 如果可用空間足夠,直接返回,不需要擴(kuò)充 */if (avail >= addlen) return s;/* 返回s字符串的已用大小(Header中的len) */len = sdslen(s);/* 獲取字符串s的頭部地址 */sh = (char*)s-sdsHdrSize(oldtype);/* 新的容量等于當(dāng)前已用空間加擴(kuò)充大小 */newlen = (len+addlen);/* 每次擴(kuò)充都會(huì)申請(qǐng)多余空間以備不時(shí)之需 */if (newlen < SDS_MAX_PREALLOC)newlen *= 2;elsenewlen += SDS_MAX_PREALLOC;/* 為新容量找到一個(gè)合適的頭部編碼 */type = sdsReqType(newlen);if (type == SDS_TYPE_5) type = SDS_TYPE_8;/* 計(jì)算新編碼的Header大小 */hdrlen = sdsHdrSize(type);/* 如果新編碼和之前編碼相同,只需要擴(kuò)充數(shù)據(jù)即可* 否則,重新申請(qǐng)內(nèi)存(因?yàn)椴煌幋a的Header大小不同,同時(shí)也需要擴(kuò)充頭部) */if (oldtype==type) {/* 在原地址處重新申請(qǐng)內(nèi)存 */newsh = s_realloc(sh, hdrlen+newlen+1);if (newsh == NULL) return NULL;/* 獲取字符串?dāng)?shù)據(jù)地址 */s = (char*)newsh+hdrlen;} else {/* 重新申請(qǐng)新內(nèi)存 */newsh = s_malloc(hdrlen+newlen+1);if (newsh == NULL) return NULL;/* 將原數(shù)據(jù)拷貝到新內(nèi)存中 */memcpy((char*)newsh+hdrlen, s, len+1);/* 釋放原內(nèi)存 */s_free(sh);/* 獲取數(shù)據(jù)地址 */s = (char*)newsh+hdrlen;/* 設(shè)置Header編碼 */s[-1] = type;/* 設(shè)置字符串長(zhǎng)度 */sdssetlen(s, len);}/* 更新字符串容量 */sdssetalloc(s, newlen);return s; }

連接兩個(gè)字符串

前面也說(shuō)到了,擴(kuò)充容量通常是為了拼接其他字符串,由sdscatlen實(shí)現(xiàn)

//sds.c /* 連接兩個(gè)字符串 */ sds sdscatlen(sds s, const void *t, size_t len) {size_t curlen = sdslen(s);/* 為s擴(kuò)充容量,足以容納字符串t(長(zhǎng)度為len) */s = sdsMakeRoomFor(s,len);if (s == NULL) return NULL;/* 將字符串復(fù)制到s的尾部 */memcpy(s+curlen, t, len);/* 更新字符串已用容量 */sdssetlen(s, curlen+len);/* 設(shè)置結(jié)束字符 */s[curlen+len] = '\0';return s; }

字符串容量縮減

擴(kuò)充和縮減是相反的兩個(gè)過(guò)程,代碼也非常相似,擴(kuò)充是令容量增加,縮減是令容量減小

//sds.c /* 將字符串末尾的空閑空間釋放掉,即另alloc == len */ sds sdsRemoveFreeSpace(sds s) {void *sh, *newsh;char type, oldtype = s[-1] & SDS_TYPE_MASK;int hdrlen;/* 獲取當(dāng)前字符串的長(zhǎng)度len */size_t len = sdslen(s);sh = (char*)s-sdsHdrSize(oldtype);/* 找到合適的Header編碼(有可能編碼變小) */type = sdsReqType(len);hdrlen = sdsHdrSize(type);/* 判斷Header的類型和原先是否相同,如果不相同,需要重新分配內(nèi)存* 因?yàn)镠edaer大小會(huì)改變 */if (oldtype==type) {newsh = s_realloc(sh, hdrlen+len+1);if (newsh == NULL) return NULL;s = (char*)newsh+hdrlen;} else {newsh = s_malloc(hdrlen+len+1);if (newsh == NULL) return NULL;memcpy((char*)newsh+hdrlen, s, len+1);s_free(sh);s = (char*)newsh+hdrlen;s[-1] = type;sdssetlen(s, len);}sdssetalloc(s, len);return s; }

對(duì)象系統(tǒng)中的sds

在之前對(duì)象系統(tǒng)的介紹中,發(fā)現(xiàn)很多地方用到了sds變量,現(xiàn)在就來(lái)回憶一下,順便填填坑

創(chuàng)建Raw類型和編碼的字符串對(duì)象

創(chuàng)建raw字符串由createRawStringObject函數(shù)完成,函數(shù)中調(diào)用sdsnewlen創(chuàng)建了一個(gè)sds字符串

//object.c /* 根據(jù)type和ptr創(chuàng)建編碼為raw字符串的對(duì)象 */ robj *createObject(int type, void *ptr) {/* 申請(qǐng)對(duì)象內(nèi)存空間 */robj *o = zmalloc(sizeof(*o));/* 設(shè)置類型,編碼,值,引用計(jì)數(shù)初始化為1 */o->type = type;o->encoding = OBJ_ENCODING_RAW;o->ptr = ptr;o->refcount = 1;/* 計(jì)算當(dāng)前時(shí)間,賦值給lru作為最后一次訪問(wèn)時(shí)間 */o->lru = LRU_CLOCK();/* 返回對(duì)象指針 */return o; }/* 創(chuàng)建raw字符串類型變量 */ robj *createRawStringObject(const char *ptr, size_t len) {/* sdsnewlen()創(chuàng)建一個(gè)長(zhǎng)度為len的sds字符串 */return createObject(OBJ_STRING,sdsnewlen(ptr,len)); }

可以看到,raw字符串調(diào)用了兩次動(dòng)態(tài)內(nèi)存申請(qǐng),一次在sdsnewlen函數(shù)中申請(qǐng)頭部和字符串?dāng)?shù)據(jù)內(nèi)存,一次在createObject函數(shù)中申請(qǐng)robj內(nèi)存

創(chuàng)建Embstr類型和編碼的字符串對(duì)象

創(chuàng)建embstr字符串由createEmbeddedStringObject函數(shù)完成

//object.c /* 創(chuàng)建類型為embstr,編碼為embstr的字符串對(duì)象 */ robj *createEmbeddedStringObject(const char *ptr, size_t len) {/* 一次性創(chuàng)建robj和sds內(nèi)存* 因?yàn)閑mbstr僅僅用于長(zhǎng)度較小的字符串,所以使用sdshdr8就足夠了*/robj *o = zmalloc(sizeof(robj)+sizeof(struct sdshdr8)+len+1);/* o是robj*類型,o+1實(shí)際加的字節(jié)數(shù)是sizeof(robj),得到的是sds頭部地址 */struct sdshdr8 *sh = (void*)(o+1);/* 設(shè)置類型,編碼,數(shù)據(jù),引用計(jì)數(shù),最后一次訪問(wèn)時(shí)間 */o->type = OBJ_STRING;o->encoding = OBJ_ENCODING_EMBSTR;o->ptr = sh+1;o->refcount = 1;o->lru = LRU_CLOCK();/* 設(shè)置sds頭部信息,復(fù)制數(shù)據(jù)到sds中 */sh->len = len;sh->alloc = len;sh->flags = SDS_TYPE_8;if (ptr) {memcpy(sh->buf,ptr,len);sh->buf[len] = '\0';} else {memset(sh->buf,0,len+1);}return o; }

可以看到,embstr字符串只調(diào)用了一次動(dòng)態(tài)內(nèi)存申請(qǐng),一次性申請(qǐng)了robj,sds頭部和字符串?dāng)?shù)據(jù)所需要的所有內(nèi)存,所以embstr通常用于長(zhǎng)度較小的字符串編碼,因?yàn)閯?dòng)態(tài)內(nèi)存申請(qǐng)是很耗時(shí)的,尤其是申請(qǐng)大內(nèi)存時(shí)

小結(jié)

sds實(shí)際上就是char*類型,Redis在c原生字符串的基礎(chǔ)上添加了頭部信息,用于以O(shè)(1)的時(shí)間復(fù)雜度獲取字符串長(zhǎng)度。字符串操作的實(shí)現(xiàn)都比較簡(jiǎn)單,其中由于頭部信息和數(shù)據(jù)是連續(xù)存儲(chǔ)的,所以可以使用類似s[-n]的形式索引到頭部信息

總結(jié)

以上是生活随笔為你收集整理的Redis源码剖析(十)简单动态字符串sds的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

有码视频在线观看 | 国产xx在线 | 精品高清美女精品国产区 | 国产成人亚洲在线观看 | 亚洲专区 国产精品 | 色综合久久久久久久久五月 | 日韩精品一区二区在线观看 | 午夜少妇 | a√天堂资源 | 射综合网 | 日韩欧美69 | 日韩国产精品久久久久久亚洲 | 人人看看人人 | 成人作爱视频 | 一区二区在线电影 | 狠狠干在线 | 欧美激情视频一区二区三区免费 | 久久成人国产 | 在线视频成人 | 日本中出在线观看 | 四虎成人在线 | 一区二区三区四区五区在线视频 | 午夜视频在线观看一区二区 | 亚洲一区二区天堂 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 亚洲 欧美 综合 在线 精品 | 中文字幕在线一区二区三区 | 国产精品18久久久久久不卡孕妇 | 毛片基地黄久久久久久天堂 | 日韩av电影手机在线观看 | 日韩免费视频一区二区 | 久久久资源网 | 久久久久亚洲国产精品 | 456成人精品影院 | 色多多污污在线观看 | 久久这里有精品 | 久草免费电影 | 国产精品久久久久999 | 亚洲片在线 | 中文字幕资源在线观看 | 麻豆91小视频 | 亚洲美女在线一区 | 日韩av在线看 | 99re亚洲国产精品 | 天堂av免费在线 | 国产精品乱码久久久 | 99精彩视频在线观看免费 | 久久免费av | 日韩伦理一区二区三区av在线 | 久久国产精品99精国产 | 在线成人一区二区 | 欧美性久久久久久 | 亚洲色综合 | 成人视屏免费看 | 亚洲伊人色 | 亚洲免费视频观看 | 97色在线视频 | 亚洲视频,欧洲视频 | 亚洲欧美视频在线观看 | 99精品一级欧美片免费播放 | 天天爽天天爽夜夜爽 | 日韩国产高清在线 | 日韩网站免费观看 | 在线国产视频一区 | 久久久久麻豆 | 久久久久久久久久久网 | 色婷婷亚洲综合 | 色偷偷人人澡久久超碰69 | 丁香综合激情 | 色丁香综合 | 欧美在线观看小视频 | 一区二区精品国产 | 亚洲一区免费在线 | 中文字幕 国产精品 | 99视频99| 在线播放av网址 | 免费在线播放av电影 | 一区二区视频在线观看免费 | 婷婷深爱激情 | 天天操操| 91精品秘密在线观看 | 一区二区三区高清在线 | 亚洲精品一区二区三区在线观看 | 97免费中文视频在线观看 | 在线观看av国产 | 西西www444| 欧美日韩国产区 | 国产高清精 | 黄色毛片网站在线观看 | 久久精品日产第一区二区三区乱码 | 国产亚洲观看 | 99热官网| 国产三级精品三级在线观看 | 国产精品美女在线观看 | 亚洲少妇激情 | 97精品国产97久久久久久久久久久久 | 欧美日韩国产精品一区二区 | 国产一级二级三级视频 | 在线观看色网 | 国产精品女人久久久久久 | 免费在线观看黄色网 | 日批在线看 | 能在线看的av | 国产91免费在线观看 | 激情五月综合 | 国产免费又爽又刺激在线观看 | 深爱激情开心 | 日本精品久久久久中文字幕 | 国产99久久精品一区二区300 | 蜜臀久久99精品久久久无需会员 | 日韩av在线不卡 | www.av中文字幕.com | 日韩精品视频在线观看网址 | 五月激情综合婷婷 | 国内精品久久久久久久久久久久 | 91大神免费视频 | 在线观看麻豆av | 激情久久伊人 | 亚洲乱亚洲乱妇 | 99久久久久成人国产免费 | 91成版人在线观看入口 | 欧美 日韩 性 | 97精品国产一二三产区 | 国产精品入口久久 | 97视频中文字幕 | 亚洲欧美日本一区二区三区 | 黄色网址av | 免费在线黄色av | 精品久久久久久久久久久久 | 蜜桃av观看| 亚洲天天干 | 日韩中文字幕第一页 | 中文字幕日韩国产 | 又色又爽的网站 | 日韩中出在线 | 久久久国产99久久国产一 | 国产成人久久精品77777 | 国产不卡高清 | 日韩网站在线播放 | 成人污视频在线观看 | 精品a级片 | 中文视频在线播放 | 特片网久久 | 99精品一区 | 三级免费黄 | 久久91久久久久麻豆精品 | 欧美激情va永久在线播放 | 天天爽天天摸 | 日韩欧美视频免费观看 | 久久精品伊人 | 91麻豆国产 | 日本高清中文字幕有码在线 | 天天色天天 | 久久免费美女视频 | 97视频人人| 亚洲综合激情小说 | 国产精品99久久久久久久久久久久 | 国产精品久久久久久婷婷天堂 | 久草在线官网 | 久久夜靖品 | 免费成人看片 | 一区在线播放 | 一区二区成人国产精品 | av最新资源 | 色网站免费在线看 | 日韩欧美电影 | 日本精a在线观看 | 中文字幕a在线 | 国产剧情av在线播放 | 99久久99久久精品免费 | 亚洲男男gⅴgay双龙 | 91精品国产三级a在线观看 | 亚洲综合五月 | 99精品在线播放 | 日本黄色免费网站 | 中文字幕在线专区 | 久久久久久久久久久网站 | 97av影院| 亚洲欧美日本一区二区三区 | 97在线观看免费 | 国产精品一区二区久久精品 | 人人澡澡人人 | 欧美亚洲另类在线视频 | 一级免费片 | 日韩在线免费播放 | 色久天 | 狠狠色综合网站久久久久久久 | 久久综合影视 | 国产色视频123区 | 久久伊人91| 最近中文字幕免费av | 久久精品区 | 一区二区三区在线观看中文字幕 | 黄色大片入口 | 国产精品一二 | 亚洲一区二区观看 | 97超碰色偷偷 | 日韩精品一区二区三区在线播放 | 在线播放视频一区 | 国产精品免费在线播放 | 成人一区在线观看 | 国产一级视屏 | 91超级碰碰| 黄色资源网站 | 精品国产99国产精品 | 国产在线污| 在线看片一区 | 日日爽视频 | 日韩精品在线视频免费观看 | 国产少妇在线观看 | 五月天丁香视频 | 美女黄濒 | 国产黄色片一级三级 | 丁香综合五月 | 亚洲成人网av| 91麻豆精品国产91久久久久久 | 精品99免费视频 | 国产精品一区在线观看 | 色综合激情久久 | 国产91在线观 | 国内偷拍精品视频 | 丁香影院在线 | 色婷婷综合在线 | 欧美日韩国产色综合一二三四 | 毛片的网址 | 日韩欧美视频免费观看 | 2019精品手机国产品在线 | 久久久久久网址 | 久久a热6 | 亚洲涩涩涩涩涩涩 | 日本mv大片欧洲mv大片 | 日韩a免费 | 国产特级毛片aaaaaa | 在线观看你懂的网址 | 国产一级淫片免费看 | 最近中文字幕在线播放 | 欧美激情视频三区 | 欧美性久久久久久 | 天天干天天天天 | 久久婷婷网 | 国产五月色婷婷六月丁香视频 | 欧美久草网 | 中文字幕91在线 | 91精品在线播放 | 日日夜夜狠狠操 | 黄色在线观看网站 | 国产视频 久久久 | 99综合电影在线视频 | 操操碰 | 免费观看的黄色片 | 在线观看电影av | 日韩夜夜爽 | 久久综合干 | 欧美日韩不卡一区二区 | 日日躁夜夜躁xxxxaaaa | 一区二区中文字幕在线播放 | 99久久99视频 | 在线免费观看黄色大片 | 久久精品99久久久久久 | 精品一区二区三区久久久 | 国模视频一区二区 | 免费看黄色毛片 | 91传媒在线看 | 国产精品一区二区三区四区在线观看 | 国产一级在线看 | 国产精品成人一区二区三区吃奶 | 亚洲成av人片在线观看 | www操操| 日韩在线 一区二区 | 久久久久久国产精品久久 | 福利视频入口 | 国色天香永久免费 | 97超碰精品 | 亚洲va韩国va欧美va精四季 | 天天操天天操天天操天天 | 狠狠干夜夜爱 | 欧美国产视频在线 | 狠狠成人 | 黄色软件在线观看 | 免费在线观看av片 | 99热最新精品 | 1024手机看片国产 | 国产尤物在线视频 | 色 免费观看 | 黄色h在线观看 | 国产精品福利在线播放 | 在线免费观看羞羞视频 | 日韩在线电影一区 | 欧美精品国产综合久久 | 国内精品久久久久影院日本资源 | 四虎成人网 | 综合网久久 | 久草干 | 免费高清在线观看成人 | 国产日韩精品在线 | 2021av在线| 一级电影免费在线观看 | av高清一区二区三区 | 成年人电影毛片 | 国产亚洲人成网站在线观看 | 中文字幕第一页在线vr | 欧美精品一区二区免费 | 在线v| 日韩精品免费专区 | 色在线视频网 | 日韩欧美精品免费 | 天堂在线视频中文网 | 超碰在线人人草 | 亚洲影音先锋 | 激情网站五月天 | 日韩欧美高清一区二区三区 | 日本激情中文字幕 | av短片在线| 久久五月网 | 丁香婷婷色综合亚洲电影 | 天天躁日日躁狠狠 | 91伊人久久大香线蕉蜜芽人口 | 嫩模bbw搡bbbb搡bbbb | 国产精品久久影院 | 亚洲精品午夜久久久 | 伊人天堂久久 | 欧美在线91 | 日韩成人精品 | 国产白浆视频 | 91精品国| 最新国产精品亚洲 | 免费黄色在线 | 91探花视频| 久久久久综合精品福利啪啪 | 在线免费黄色av | 九九九电影免费看 | 国产小视频你懂的在线 | 激情婷婷| 在线日韩亚洲 | 九草视频在线观看 | 俺要去色综合狠狠 | 一区二区三区免费看 | 久久99热这里只有精品国产 | 国模一二三区 | 91插插插网站 | 91精品电影 | 国产资源在线观看 | 亚洲精品资源在线观看 | 欧美在线一| 中文字幕中文中文字幕 | 99久久99久久精品国产片 | 欧美日韩高清一区二区 | 成人精品99 | 青青啪| 国产99在线免费 | 香蕉精品视频在线观看 | 毛片a级片| 亚洲欧美国产精品 | 天天干天天上 | 黄色三级免费观看 | 青草草在线视频 | avwww在线观看 | 91精品免费在线视频 | 一区二区久久 | 中文字幕日本在线观看 | 最新国产一区二区三区 | 亚洲婷婷在线 | 麻豆视频网址 | 久久另类视频 | 欧美日韩在线观看一区 | 91精品播放| 久久毛片网站 | 久久99精品国产99久久6尤 | 久久99国产精品免费网站 | 果冻av在线 | 亚洲一区二区三区精品在线观看 | 国产黄色免费电影 | 日韩h在线观看 | 久久av免费观看 | 亚洲三级黄色 | 精品久久免费看 | 狠狠色丁香婷婷综合最新地址 | 美女免费视频观看网站 | 国产视频在 | 亚洲一级特黄 | 91色蜜桃 | 在线观看成年人 | 亚洲一区久久久 | 亚洲天堂视频在线 | 久色网 | 国产精品一区电影 | 日韩在线观看 | 久久公开免费视频 | 福利视频导航网址 | 亚洲每日更新 | 亚洲午夜大片 | 亚洲精品字幕在线观看 | 亚洲精品久久久久999中文字幕 | 亚洲成人av一区 | 伊人网综合在线观看 | 日韩大片在线播放 | 不卡视频一区二区三区 | 精品国产视频在线 | 韩国一区二区三区视频 | 97视频免费看 | 日韩高清在线一区二区 | 91在线一区 | 日韩欧美视频免费观看 | 婷婷五月在线视频 | 精品视频国产 | av在线电影免费观看 | 插综合网 | 日韩精品视频在线观看免费 | 成人久久国产 | 国产一区二区三区免费在线 | 久久免费视频在线 | 国产精品久久久久婷婷 | 97操操操| 欧美一级久久久久 | 国产日韩视频在线 | 日本久久电影 | 2023av| 国产成人精品综合久久久久99 | av成人免费观看 | www.成人精品 | 国产视频一 | 欧美精品久久久久久久免费 | 日日干日日操 | av成人资源 | 人人精品久久 | 国产精品九九久久99视频 | 狠狠色综合欧美激情 | av免费看网站| 精品久久国产精品 | 久久一区二区免费视频 | 视频一区二区免费 | 97av在线视频免费播放 | 在线日韩亚洲 | 5月丁香婷婷综合 | 在线久草视频 | 中文字幕一区在线 | 欧美日韩国产一二 | 国产一级在线 | 特级西西www44高清大胆图片 | 一级片黄色片网站 | 中文国产字幕 | 亚洲高清在线视频 | 欧美日韩xxxxx | 日韩精品一区二区在线视频 | www日| 免费久久99精品国产婷婷六月 | 国产精品视频 | 国产精品综合久久久久 | 99热精品国产一区二区在线观看 | 婷婷五综合 | 久久免费观看少妇a级毛片 久久久久成人免费 | 日批网站免费观看 | 中文字幕免费国产精品 | av中文在线播放 | 日日麻批40分钟视频免费观看 | 中文字幕在线视频精品 | 亚洲人成在线观看 | 精品天堂av | 91免费日韩 | 色综合久久综合网 | 国产美女精品久久久 | 国内精品久久久久久久97牛牛 | 国产理论片在线观看 | 在线观看免费福利 | 成人在线视频网 | 97操操 | 欧美中文字幕久久 | 成人久久久久 | 久久私人影院 | 91精品一区二区三区蜜臀 | 精品一区二区在线看 | 99一区二区三区 | 欧美成年人在线观看 | 欧美一性一交一乱 | 中文字幕亚洲综合久久五月天色无吗'' | 在线一二三四区 | a精品视频 | 日日夜夜91 | 四虎5151久久欧美毛片 | 亚洲成人xxx| 久草视频在线资源 | 国产一级在线看 | 麻豆网站免费观看 | 97国产在线观看 | 婷婷射五月 | 久久99精品久久久久婷婷 | 久久超碰网 | 97精品视频在线 | 狠狠躁日日躁夜夜躁av | 国产精品video | 国产在线看| 五月婷社区 | 中文字幕在线乱 | 亚洲精品tv | 亚洲一区免费在线 | 色视频成人在线观看免 | 99视频在线精品国自产拍免费观看 | 天天操月月操 | 欧美性色xo影院 | 欧洲精品视频一区二区 | 狠狠干中文字幕 | 久久精品99国产精品日本 | 国产999精品 | 一区二区三区免费 | 欧美日韩免费在线观看视频 | 久久色视频 | 久久一区国产 | 91片黄在线观看动漫 | 国产精品刺激对白麻豆99 | 在线不卡中文字幕播放 | 久久亚洲综合国产精品99麻豆的功能介绍 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 日韩中字在线观看 | 亚洲国产中文字幕在线观看 | 日韩在线观看视频一区二区三区 | 在线免费精品视频 | 天天干天天干天天操 | 激情小说 五月 | 91高清在线看 | 成人黄色av网站 | 中文字幕丝袜制服 | 91爱爱电影 | 五月天综合激情网 | 一区 二区电影免费在线观看 | av免费网站在线观看 | av三级在线免费观看 | 亚洲黄色一级视频 | 中文资源在线观看 | 91麻豆看国产在线紧急地址 | 久久久久伊人 | 久久精品男人的天堂 | 麻豆高清免费国产一区 | 日日干美女 | 日韩高清免费在线观看 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 中文字幕a在线 | 草久在线观看视频 | 99c视频高清免费观看 | 在线观看免费一级片 | 91精品久久久久久久久久久久久 | 91成年人网站 | 亚洲 成人 欧美 | 国产午夜在线观看 | 久久只精品99品免费久23小说 | 国产精品国产三级国产不产一地 | 久久99精品久久只有精品 | 可以免费观看的av片 | 啪啪凸凸| 久久久久久久久久久久久久电影 | 亚洲成人精品 | 国产91精品欧美 | 夜夜高潮夜夜爽国产伦精品 | 国产综合在线观看视频 | 日韩二区三区在线 | 亚洲理论片在线观看 | 在线看国产一区 | 国产日韩欧美视频 | 中文字幕亚洲欧美日韩 | 亚洲精品小视频 | 日韩精选在线观看 | 六月婷婷久香在线视频 | 日韩黄色一区 | 狠狠干 狠狠操 | 久久精品91久久久久久再现 | 狠狠久久伊人 | 日韩资源在线播放 | av.com在线| 国产手机在线视频 | 欧美大香线蕉线伊人久久 | 黄色免费大全 | 国内精品免费久久影院 | 黄色网址在线播放 | 五月婷久| 99av在线视频 | 丝袜美腿在线 | 日韩高清免费在线 | 成年人视频免费在线播放 | 色综合天天 | 免费在线色电影 | 久久人人爽 | 开心激情五月网 | 日韩一区二区免费在线观看 | 在线日韩中文 | 欧美视频日韩 | 免费看污片 | 狠狠色丁香婷婷综合欧美 | 亚洲动漫在线观看 | 久久午夜免费视频 | 亚洲最新av在线网址 | 久久99深爱久久99精品 | 免费毛片一区二区三区久久久 | 国产五月色婷婷六月丁香视频 | 丁香花在线观看视频在线 | 亚洲精品va | 一区二区精品久久 | 亚洲精品小区久久久久久 | 亚洲精品国偷自产在线99热 | 国产黄大片 | 久草视频免费 | 日韩成人免费在线观看 | 正在播放 国产精品 | 9ⅰ精品久久久久久久久中文字幕 | 伊人永久 | 久久只精品99品免费久23小说 | 成人免费视频免费观看 | 日日操夜夜操狠狠操 | 国产精品免费一区二区 | 亚洲免费色 | 国产视频日韩视频欧美视频 | 爱射综合 | 悠悠av资源片 | 最新91在线视频 | 玖玖玖影院 | 国产二级视频 | 中文字幕人成乱码在线观看 | av片一区二区 | 国产亚洲精品美女久久 | 国产日韩中文在线 | 在线中文字幕av观看 | 国产精品亚洲人在线观看 | 午夜在线资源 | 欧美极品xxxxx | 日韩特黄一级欧美毛片特黄 | 久久成 | 亚州国产精品 | 日本精品久久久久 | 国产在线不卡精品 | 天天射天天射天天射 | 综合中文字幕 | 国产久视频 | 亚洲国产中文字幕 | 日本激情动作片免费看 | 在线观看视频黄 | 国产精品国产三级国产不产一地 | 日本aaaa级毛片在线看 | 国产97在线观看 | 狠狠五月婷婷 | 天天色中文 | 96av视频| 久久久久久久久久久精 | 欧美日韩高清一区二区 国产亚洲免费看 | 97人人看| 在线网址你懂得 | 911精品美国片911久久久 | 麻豆免费在线播放 | 国产精品密入口果冻 | 国产精品永久在线观看 | 青青河边草免费直播 | 最新国产精品拍自在线播放 | 国产精品ssss在线亚洲 | 国内99视频| 日韩性xxxx| 日韩精品一区二区三区不卡 | 精品高清视频 | 超碰在线天天 | 色黄久久久久久 | 国产日韩欧美在线影视 | 久久久久久国产精品 | 综合伊人av | 在线免费看片 | 色片网站在线观看 | 国产精品美女久久久久久 | 国产精品电影在线 | 欧美日韩一区二区三区在线观看视频 | 国产精品丝袜在线 | 99精品乱码国产在线观看 | 精精国产xxxx视频在线播放 | 亚洲视频免费 | 亚洲成人黄色 | 国产69精品久久久久99尤 | 97在线观看免费观看高清 | 亚洲精品一区二区在线观看 | 久久精品视频2 | 欧美成人亚洲成人 | 最近字幕在线观看第一季 | 日韩色一区二区三区 | 日韩资源视频 | 日韩有码中文字幕在线 | 黄色avwww | 97影视| 色综合久久88 | 国产精品ⅴa有声小说 | 国产毛片久久久 | 午夜精品福利一区二区三区蜜桃 | 国产精品入口传媒 | 欧美激情综合五月色丁香小说 | 亚洲欧美国内爽妇网 | 欧美电影黄色 | 欧美在线观看视频免费 | 亚洲欧洲精品一区二区 | 色悠悠久久综合 | 五月香视频在线观看 | 欧女人精69xxxxxx | 日韩免费观看高清 | 亚洲精品国偷拍自产在线观看 | 日韩高清精品免费观看 | 精品成人在线 | 欧美激情第八页 | 欧美一区二区精品在线 | 狠狠狠色丁香综合久久天下网 | 国产精品亚州 | 美女久久 | 久久久久免费电影 | 久久一区国产 | 在线一级片 | 91av视频在线播放 | 欧美日韩18 | av网址最新 | 欧美性脚交 | 日韩一区视频在线 | 91亚洲激情 | 久久综合婷婷综合 | 人人澡超碰碰97碰碰碰软件 | 丁香综合av| 黄a网站| 麻豆94tv免费版 | 久久精品香蕉视频 | 亚洲理论影院 | 中文字幕丝袜制服 | 激情综合色图 | 久久福利精品 | 国产精品va在线 | 丁香婷婷激情网 | 日韩一区二区三区在线看 | 精品免费国产一区二区三区四区 | 成人毛片a | 中文字幕在线一区二区三区 | 成人在线播放网站 | 奇米网444 | 亚洲精品视频在线免费播放 | 国产99久久九九精品免费 | 六月久久婷婷 | 中文字幕乱在线伦视频中文字幕乱码在线 | 激情婷婷亚洲 | 亚洲精品美女在线观看播放 | 久久久久二区 | 日韩精品在线看 | 久久人人爽人人爽人人片av软件 | 这里只有精品视频在线观看 | 国产高清免费在线观看 | 玖玖视频 | 五月天激情婷婷 | 99精品欧美一区二区蜜桃免费 | 天天操天天干天天爽 | 麻豆国产在线视频 | 国产日韩在线观看一区 | 国产成人久久精品亚洲 | 国产日产精品久久久久快鸭 | 九九热在线观看 | 在线高清一区 | 久久理伦片 | 成片免费观看视频 | 99精品欧美一区二区蜜桃免费 | 亚洲成人资源 | 免费看av片网站 | 色在线高清 | 国产一区高清在线观看 | 色婷婷狠狠五月综合天色拍 | 91在线免费观看网站 | 免费观看mv大片高清 | 免费看片网站91 | 国产麻豆精品一区 | 韩日三级av | 狠狠干.com | 国产小视频在线观看免费 | 亚一亚二国产专区 | 色中色综合 | 亚洲丁香久久久 | 一区二区三区高清不卡 | 久久全国免费视频 | 国产一区二区在线精品 | 国产伦精品一区二区三区无广告 | 精品电影一区二区 | 91精品爽啪蜜夜国产在线播放 | 日韩免费不卡视频 | 免费日韩一区二区 | 一本一本久久a久久精品综合妖精 | 美女视频a美女大全免费下载蜜臀 | 日本黄色免费在线 | 国产精品一区二区在线看 | 成年人在线观看免费视频 | 亚洲精品在线网站 | 久久精品www人人爽人人 | 中文字幕色婷婷在线视频 | 91视频免费 | 超碰97人人干 | 午夜精品福利一区二区 | 亚洲国产人午在线一二区 | 欧美日韩不卡一区 | 国产97视频| 国产区精品区 | 最新免费av在线 | 国产一区二区三区高清播放 | 精品久久91 | 国产一级电影网 | 在线播放亚洲激情 | 国产分类视频 | 91在线成人| 九九久久视频 | 午夜精品99久久免费 | 精品久久久久久久久久久久 | 欧美污污视频 | 在线观看国产成人av片 | 玖玖爱在线观看 | 国产一区二区在线观看视频 | 91av视频在线播放 | 久久er99热精品一区二区 | 成人在线观看日韩 | 久久www免费视频 | 外国av网| 午夜.dj高清免费观看视频 | 国产一区二区三区久久久 | 免费看三级网站 | 99热最新地址| 日韩精品一区二区三区中文字幕 | 久久婷亚洲五月一区天天躁 | 日本精品一区二区三区在线观看 | 久久综合狠狠综合 | 亚洲欧美经典 | 美女福利视频一区二区 | 91精品成人久久 | 日日夜夜操av | www.久久久com | 日韩在线观看一区二区三区 | 日日干天天干 | 夜夜骑天天操 | 国产免费又爽又刺激在线观看 | 久久久久久久久久久电影 | 91中文字幕在线播放 | 一区二区三区影院 | 国产特黄色片 | 久久欧美精品 | 亚洲黄色片 | 香蕉视频国产在线 | 狠狠色丁香 | 在线观看91av | 狠狠色丁香婷婷综合久小说久 | 国产精品成人免费精品自在线观看 | 国产精品日韩在线观看 | 久久视频这里有久久精品视频11 | 国产精品久久久久久久久久新婚 | 99久久激情 | 欧美日韩国产在线观看 | 日日干网 | 欧美综合色在线图区 | 欧美日韩一区二区在线观看 | 天天操人人干 | 色com网 | 91九色在线播放 | 国产精品第一视频 | 亚洲区精品视频 | 91免费网址 | 福利网址在线观看 | 国产成人三级在线 | 日韩激情在线 | 黄色毛片观看 | 国产在线不卡 | 国产亚洲激情视频在线 | 国产精品一区二区av | 国产在线视频导航 | 日韩精品网址 | 中文字幕美女免费在线 | 国产精品久久久久影院日本 | 一级一片免费视频 | 91探花在线| 97在线看片| 日韩高清激情 | 狠狠色丁香婷综合久久 | 国产97在线看 | 毛片a级片| 久久激情电影 | 天天干天天干天天干 | 国产精品自在欧美一区 | 国产视频在线观看一区二区 | 亚洲1区在线 | 久久久www免费电影网 | 天天干天天干天天干 | 日韩中文字幕a | 日韩欧美一区二区三区在线观看 | 在线亚洲午夜片av大片 | 91传媒免费在线观看 | 天堂在线v| 国产精品第72页 | 久久大片网站 | 狠狠色香婷婷久久亚洲精品 | 99久久综合精品五月天 | jizz欧美性9 国产一区高清在线观看 | 国产精品视频专区 | 国产精品国产自产拍高清av | 国产精品中文久久久久久久 | 国产 一区二区三区 在线 | 国产精品久久久久久久久搜平片 | 国产精品区免费视频 | 色播激情五月 | 色综合色综合色综合 | 国产成人久久av免费高清密臂 | 最近中文字幕完整视频高清1 | 91一区在线观看 | 欧美一区二区精美视频 | 天天色天天射天天干 | 久久综合狠狠狠色97 | 狠狠插狠狠干 | 伊人成人久久 | 久久免费黄色网址 | 免费看的黄色录像 | 久久av在线 | 久操操| 激情一区二区三区欧美 | 久久久久久久久久久精 | 久久专区| 欧美一级片在线播放 | 成人精品国产 | 欧美一级电影片 | 在线观看中文字幕 | 久久国产精品久久精品 | 亚洲精品国产综合99久久夜夜嗨 | 国产99久久久国产精品 | 综合网天天 | 国产系列在线观看 | www.天天射 | 日韩视频免费看 | 久久都是精品 | 国产视频在线观看免费 | 婷婷激情网站 | 日韩精品一区二区三区丰满 | 黄色毛片在线 | 久久av电影 | 亚洲 欧美 国产 va在线影院 | 91成人在线免费观看 | 国产精品美女久久久久久久 | 毛片黄色一级 | 婷婷激情综合五月天 | 久久久久久久久影视 | 国产一级性生活视频 | 免费视频一区 | 国产成人久久久77777 | www.人人草 | 国产成人不卡 | 亚洲理论在线 | 久久成人18免费网站 | 超碰在线9 | 亚洲精品自拍视频在线观看 | 99中文字幕| 美女精品 | 色偷偷av男人天堂 | 日韩视频免费观看高清完整版在线 | 日韩三级中文字幕 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 亚洲精品99 | 在线免费观看视频 | 人人爽人人乐 | 精品亚洲一区二区三区 | 国产精品久久久久久久久久久不卡 | 成人在线一区二区 | 免费视频黄| 91系列在线观看 | 国产呻吟在线 | 欧美成人黄色 | 国产小视频在线播放 | 91亚洲精品在线 | 精品一二三四五区 | 中文字幕亚洲欧美日韩2019 | 欧美在线视频二区 | 日韩精品综合在线 | 欧美综合在线视频 | 久久69av | 深爱激情开心 | 97电影院在线观看 | 99免费精品视频 | 久久国产精品99国产精 | 国产裸体无遮挡 | 99精品视频播放 | 成人av中文字幕在线观看 | 亚洲成人精品影院 | 色资源中文字幕 | 探花视频在线版播放免费观看 | 国产又粗又猛又爽又黄的视频先 | 天天干天天摸天天操 | 欧美日韩国产精品一区二区三区 | 综合色爱| 日本中文字幕免费观看 | 国产成人性色生活片 | 在线国产福利 | 国产精品国产三级在线专区 | 日韩在观看线 | 国产精品女主播一区二区三区 | av免费在线免费观看 | 欧美色图一区 | 国产精品99页 | 亚洲涩综合 | 日韩欧美在线不卡 | 天天色欧美 | 国产中文在线视频 | 精品国产伦一区二区三区观看说明 | 久久综合成人 | 激情动态 | 国产小视频在线免费观看视频 | 狠狠五月婷婷 |