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

主頁 > 知識庫 > Redis String 類型和 Hash 類型學(xué)習筆記與總結(jié)

Redis String 類型和 Hash 類型學(xué)習筆記與總結(jié)

熱門標簽:杭州400電話如何申請的 400電話申請怎么看 hbuilder地圖標注 江西南昌百應(yīng)電話機器人 隨州營銷電話機器人怎么樣 天音通信電話機器人 400電話從哪里申請濱州 機器人電話機創(chuàng)意繪畫 高德地圖標注商家在哪

Linux 版本信息:

復(fù)制代碼 代碼如下:

cat /etc/issue  或cat /etc/redhat-release(Linux查看版本當前操作系統(tǒng)發(fā)行版信息)

CentOS release 6.6 (Final)

(一)String 類型

【定義】string 是最簡單的類型,你可以理解成與 Memcached 是一模一樣的類型,一個 key 對應(yīng)一個 value,其上支持的操作與 Memcached 的操作類似。但它的功能更豐富。

string 類型是二進制安全的。意思是 redis 的 string 可以包含任何數(shù)據(jù), 比如 jpg 圖片或者序 列化的對象。 從內(nèi)部實現(xiàn)來看其實 string 可以看作 byte 數(shù)組,最大上限是 1G 字節(jié)。

【操作】

① set 方法

設(shè)置 key 對應(yīng)的值為 string 類型的 value。

【例】添加 name = dee 的鍵值對:

復(fù)制代碼 代碼如下:

127.0.0.1:6379> set name dee
OK

設(shè)置成功。

② get 方法

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> get name
"dee"

獲取成功。

 

再次設(shè)置 name = deathmask,值會被覆蓋:

復(fù)制代碼 代碼如下:

127.0.0.1:6379> set name deathmask
OK

127.0.0.1:6379> get name
"deathmask"

③ setnx 方法

設(shè)置 key 對應(yīng)的值為 string 類型的 value,如果 key 已經(jīng)存在,返回 0,nx 表示 not exist。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> setnx name dee
(integer) 0


127.0.0.1:6379> setnx app weibo
(integer) 1


127.0.0.1:6379> get name
"deathmask"


127.0.0.1:6379> get app
"weibo"

表示 name 已經(jīng)存在而且沒有更改,app 不存在則成功 set。

④ setex 方法

設(shè)置 key 對應(yīng)的值為 string 類型的 value,并指定  此鍵值 對應(yīng)的有效期。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> setex mobile 10 iphone
OK

127.0.0.1:6379> get mobile
"iphone"


127.0.0.1:6379> get mobile
"iphone"


127.0.0.1:6379> get mobile
(nil)

設(shè)置 mobile 的值為 iPhone,并且指定有效期為 10 秒。

⑤ setrange 方法

設(shè)定指定 key 的 value 值的子字符串

【例】將 dee 的 126 郵箱 替換為 gmail 郵箱

復(fù)制代碼 代碼如下:

127.0.0.1:6379> set email dee@126.com
OK

127.0.0.1:6379> get email
"dee@126.com"


127.0.0.1:6379> setrange email 4 gmail.com
(integer) 13


127.0.0.1:6379> get email
"dee@gmail.com"


其中 4 代表下標,(integer) 13 表示字符串的長度。

【例2】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> set email dee@vip.ofim.com
OK

127.0.0.1:6379> get email
"dee@vip.ofim.com"


127.0.0.1:6379> setrange email 4 gmail.com
(integer) 16


127.0.0.1:6379> get email
"dee@gmail.comcom"


說明:如果替換的字符串沒有源字符串長,則只會把源字符串中相同長度的字符替換掉,同時保留源字符串中剩余的字符。

⑥ mset 方法

一次設(shè)置多個 key 值,成功返回 ok,表示所有的值都設(shè)置了,失敗返回 0,表示沒有任何值被設(shè)置。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> mset key1 dee1 key2 dee2
OK

127.0.0.1:6379> get key1
"dee1"


127.0.0.1:6379> get key2
"dee2"

⑦ msetnx 方法

一次設(shè)置多個 key 的值,成功返回 1,表示所有的值都被設(shè)置了。失敗返回 0 ,表示沒有任何值被設(shè)置,但是不會覆蓋已經(jīng)存在的 key。

復(fù)制代碼 代碼如下:

127.0.0.1:6379> msetnx key3 dee3 key4 dee4
(integer) 1


127.0.0.1:6379> msetnx key3 dee333 key4 dee444 key5 dee5
(integer) 0


127.0.0.1:6379> get key3
"dee3"


127.0.0.1:6379> get key4
"dee4"


127.0.0.1:6379> get key5
(nil)


⑧ getset 方法

設(shè)置 key 的值,并返回 key 的舊值。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> getset key1 emperor
"dee1"

⑨ getrange 方法

獲取 key 的 value 值的子字符串。

復(fù)制代碼 代碼如下:

127.0.0.1:6379> get email
"dee@gmail.comcom"


127.0.0.1:6379> getrange email 0 12
"dee@gmail.com"


返回第 0 到第12 個字符。
⑩ mget 方法

一次獲取多個 key 的值,如果對應(yīng) key 不存在則對應(yīng)返回 nil。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> mget key1 key2 key3 key4 key5
1) "emperor"
2) "dee2"
3) "dee3"
4) "dee4"
5) (nil)

⑪ incr 方法
對 key 的值做 加加 操作,并返回新的值。

【例】每次遞增1

復(fù)制代碼 代碼如下:

127.0.0.1:6379> set age 28
OK

127.0.0.1:6379> get age
"28"


127.0.0.1:6379> incr age
(integer) 29


127.0.0.1:6379> incr age
(integer) 30


127.0.0.1:6379> get age
"30"


【例2】
復(fù)制代碼 代碼如下:

127.0.0.1:6379> get real-age
(nil)

127.0.0.1:6379> incr real-age
(integer) 1


127.0.0.1:6379> get real-age
"1"

⑫ incrby 方法

同 incr 方法類似,加指定值,key 不存在時會設(shè)置 key,并認為原來的 value 為 0。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> get times
(nil)

127.0.0.1:6379> incrby times 5
(integer) 5


127.0.0.1:6379> get times
"5"


【例2】
復(fù)制代碼 代碼如下:

127.0.0.1:6379> incrby times -5
(integer) 0


127.0.0.1:6379> get times
"0"

⑬ decr 方法

對 key 的值做 減減操作。

⑭ decrby 方法

同 decr 方法類似,減指定值。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> get age
"30"


127.0.0.1:6379> decr age
(integer) 29


127.0.0.1:6379> decrby age 10
(integer) 19


127.0.0.1:6379> decrby age -10
(integer) 29

⑮ append 方法(重要)

給指定 key 的字符串追加 value ,返回新字符串的長度。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> get name
"deathmask"


127.0.0.1:6379> append name @163.com
(integer) 17


127.0.0.1:6379> get name
"deathmask@163.com"

⑯ strlen 方法

取指定 key 的 value 值的長度。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> get name
"deathmask@163.com"


127.0.0.1:6379> strlen name
(integer) 17

(二)Hash 類型

Redis hash 是一個 string 類型的 field 和 value 的 映射表。它的添加、刪除操作都是 0(1)(平均操作)。

hash 特別 適合用于存儲對象。相較于將對象的每個字段存成單個 string 類型(string 類型可以存儲對象序列化)。

將一個對象存儲在 hash 類型中會占用更少的內(nèi)存,并且可以更方便的存取整個對象。

(省內(nèi)存的原因是新建一個 hash 對象時開始是用 zipmap(又稱為 small hash)來存儲的。

這個 zipmap 其實并不是 hash table,但是 zipmap 相比正常的 hash 實現(xiàn)可以節(jié)省不少 hash 本身需要的一些元數(shù)據(jù)存儲開銷。

盡管 zipmap 的添加,刪除,查找都是 O(n),但是由于一般對象的 field 數(shù)量都不太多,所以使用 zipmap 也是很快的,也就是說添加刪除平均還是 O(1)。

如果 field 或者 value的大小超出一定限制后, Redis 會在內(nèi)部自動將 zipmap 替換成正常的 hash 實現(xiàn). 這個限制可以在配置文件中指定。

hash-max-zipmap-entries 64 #配置字段最多 64 個,hash-max-zipmap-value 512 #配置 value 最大為 512 字節(jié))

【操作】

① hset 方法 / hget 方法

設(shè)置hash field 為指定值,如果 key 不存在,則先創(chuàng)建。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> hset myhash field1 hello
(integer) 1

說明:myhash 是 hash 表的名稱,field1 是 hash 表的一個字段,hello 是這個字段對應(yīng)的值。存儲用戶比較方便。

【例2】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> hset user:001 name dee
(integer) 1


127.0.0.1:6379> hget user:001 name
"dee"

說明:設(shè)置 user 表 id 為 001 的用戶,用戶名為 dee。

 可以把 user:001 看作一張表。

② hsetnx 方法

設(shè)置 hash field 為指定值,如果 key 不存在,則先創(chuàng)建;如果存在,則返回 0。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> hsetnx myhash field "hello"
(integer) 1


127.0.0.1:6379> hsetnx myhash field "hello!"
(integer) 0


127.0.0.1:6379> hget myhash field
"hello"

③ hmset 方法

同時設(shè)置 hash 的多個 field

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> hmset user:002 name dee specialty php
OK

127.0.0.1:6379> hget user:002 name
"dee"


127.0.0.1:6379> hget user:002 specialty
"php"

④ hget 方法

獲取全部指定的 hash field。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> hmget user:002 name specialty
1) "dee"
2) "php"

⑤ hincrby 方法

指定的 hash field 加上給定值。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> hmset user:002 name dee specialty redis age 28
OK

127.0.0.1:6379> hincrby user:002 age -6
(integer) 22


127.0.0.1:6379> hmget user:002 name specialty age
1) "dee"
2) "redis"
3) "22"


127.0.0.1:6379> hincrby user:002 age 5
(integer) 27


127.0.0.1:6379> hmget user:002 name specialty age
1) "dee"
2) "redis"
3) "27"

⑥ hexists 方法

測試指定 field 是否存在。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> hexists user:002 name
(integer) 1


127.0.0.1:6379> hexists user:002 sex
(integer) 0


⑦ hlen 方法

返回指定 hash 的 field 數(shù)量。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> hlen user:002
(integer) 3

⑧ hdel 方法

刪除指定 hash 的 field。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> hdel user:002 age
(integer) 1


127.0.0.1:6379> hget user:002 age
(nil)


⑨ hkeys 方法(類似 PHP 中 array_keys() 方法)

返回 hash 的所有 field。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> hkeys user:002
1) "name"
2) "specialty"

⑩ hvals 方法(類似 PHP 中的 array_values() 方法)

返回 hash 的所有 value。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> hvals user:002
1) "dee"
2) "redis"

⑪ hgetall 方法

獲取某個 hash 中全部的 field 及 value。

【例】

復(fù)制代碼 代碼如下:

127.0.0.1:6379> hgetall user:002
1) "name"
2) "dee"
3) "specialty"
4) "redis"

【總結(jié)】設(shè)置 hash 類型的數(shù)據(jù),首先要設(shè)置 hash 的表,然后設(shè)置 hash 的 field,最后設(shè)置 hash field 的 value。

您可能感興趣的文章:
  • redis中hash表內(nèi)容刪除的方法代碼
  • Python操作redis實例小結(jié)【String、Hash、List、Set等】
  • Redis教程(四):Hashes數(shù)據(jù)類型
  • SpringBoot+Redis實現(xiàn)數(shù)據(jù)字典的方法
  • python redis存入字典序列化存儲教程
  • redis中Hash字典操作的方法
  • Redis字典實現(xiàn)、Hash鍵沖突及漸進式rehash詳解

標簽:沈陽 昆明 鶴崗 招商 常德 葫蘆島 保定 石嘴山

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Redis String 類型和 Hash 類型學(xué)習筆記與總結(jié)》,本文關(guān)鍵詞  Redis,String,類型,和,Hash,學(xué)習,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Redis String 類型和 Hash 類型學(xué)習筆記與總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Redis String 類型和 Hash 類型學(xué)習筆記與總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    亚洲欧美日韩动漫| 最近中文字幕av| 国产精品久久无码| 久久精品国产清高在天天线| 在线视频这里只有精品| 高清毛片aaaaaaaaa片| 免费毛片在线| 免费看黄色91| 成人黄色一级视频| 51妺嘿嘿午夜福利| 日韩精品一卡二卡| 日本网站免费观看| 久久福利视频导航| 五月婷婷色综合| 最新真实国产在线视频| 97热在线精品视频在线观看| 日韩中字在线观看| 国产精品系列视频| 一区二区三区不卡视频在线观看| 在线观看国产精品入口男同| 国产一区二区三区四区二区| 欧美日韩亚洲综合一区二区三区激情在线| 欧美激情二区三区| 亚洲欧美伊人| 欧美日韩综合不卡| 国产精品丝袜在线播放| 秋霞av国产精品一区| 97在线观看免费观看| 精品国产999| 不卡一二三区| 一区高清视频| 中文字幕精品www乱入免费视频| 美女视频在线免费| 久久精品一区二区三区四区五区| 久久精品www人人爽人人| gogo亚洲国模私拍人体| 九色丨porny丨自拍入口| 欧美大片日本大片免费观看| 少妇被狂c下部羞羞漫画| 欧美人在线视频| 日韩精品在线免费播放| 亚洲乱码国产乱码精品精软件| 性欧美xxx极品另类| 免费看a在线观看| 国产富婆一级全黄大片| 一级特黄aaa大片| 日韩欧美美女在线观看| 偷拍精品一区二区三区| 日韩免费在线电影| 亚洲视频你懂的| 欧美精品自拍偷拍动漫精品| 欧美性色黄大片手机版| 91福利视频免费观看| 天堂网av2018| 免费在线看污片| 成人免费看片98欧美| japanese23hdxxxx日韩| 91精品国产自产精品男人的天堂| 深夜福利视频在线免费观看| 国产精品久久久久久久久免费看| 久久久久久久999精品视频| 国产白丝一区二区三区| 一本色道久久综合精品竹菊| 欧美日本一道本| 国产综合精品一区| 国产女主播在线观看| 中文字幕久热精品视频在线| 欧美一级二级三级区| 国产美女性感在线观看懂色av| 成人免费观看网站| 午夜精品久久久久久毛片| 最新国产一区二区| 三级全黄视频| 国产黄色网页| 国产原创av在线| 欧美乱妇40p| 国产欧美精品一区二区三区四区| 激情欧美一区二区| 污视频在线观看免费网站| 污视频在线观看免费| 99热只有这里有精品| 成人免费一区二区三区在线观看| 久久视频www| 欧美三级电影在线播放| 午夜精品一区二区在线观看| 噼里啪啦在线中文观看| 日本少妇毛茸茸高潮| 黄色片在线免费看| 欧美成人性福生活免费看| 国产av一区二区三区精品| 怡红院av久久久久久久| 99精品女人在线观看免费视频| 97se亚洲综合在线| 国产精品白丝av嫩草影院| 亚洲电影中文字幕在线观看| 91成人在线视频观看| 国产三级在线| 欧美日韩aaaaaa| 日韩视频国产视频| 亚洲一区不卡| 自拍偷拍福利视频| 亚洲三级电影| 亚洲欧美国产精品va在线观看| 欧美天堂一区二区| 视频一区二区三区在线| av网站在线观看免费| 中文字幕在线看视频国产欧美| 欧美一级在线观看| 久久婷婷国产精品| 亚洲欧洲日产国码av系列天堂| 色综合欧美在线| 东方av正在进入| 欧美综合激情| 国产精品资源| 另类激情视频| 貂蝉被到爽流白浆在线观看| 欧美男同性恋视频网站| 国产蜜臀在线| 九色在线91| 草美女在线观看| 亚洲乱码一区av黑人高潮| 国产免费一区二区三区在线观看| 日本va欧美va瓶| 欧美在线观看视频免费| 色偷偷噜噜噜亚洲男人| 小毛片在线观看| 欧美亚日韩国产aⅴ精品中极品| 成人免费福利视频| 五月婷婷在线观看| 91麻豆精品国产91久久久| 亚洲成人综合在线| 欧美爱爱小视频| 精品国产一区二区三区久久久狼牙| 亚洲成a人片在线不卡一二三区| 欧美成人精品激情在线观看| 亚洲最大av网站| 超级砰砰砰97免费观看最新一期| 亚州国产精品| 中文字幕亚洲综合久久菠萝蜜| 免费成人高清在线视频theav| 亚洲aⅴ男人的天堂在线观看| 色婷婷成人综合| 久久99精品久久久水蜜桃| 免费看黄裸体一级大秀欧美| 在线观看高清免费视频| 日本网站在线播放| 少妇献身老头系列| 国产精品久久久久久亚洲毛片| 久热精品视频在线观看| 国产宾馆自拍| 亚洲成a人片综合在线| 在线天堂新版最新版在线8| 亚洲精品国产精品国自产网站| 日韩成人午夜影院| 特级西西人体高清大胆| 国产一级片大全| 亚洲精品国产片| 国产不卡人人| 日韩亚洲欧美中文字幕| 国产精品一久久香蕉国产线看观看| 亚洲视频一二三区| 六月婷婷综合| 国产亚av手机在线观看| 免费黄色在线视频| 国产三级精品三级在线观看国产| 日韩中文字幕亚洲一区二区va在线| 美丽的小蜜桃4春潮| 91嫩草在线播放| 久久天天躁狠狠躁夜夜躁| 一个人看的视频www在线观看免费| 日韩电影大全网站| 中文一区二区| 色欲无码人妻久久精品| 男人天堂网在线视频| 日本一本在线免费福利| av麻豆国产| 国产又黄又粗又猛又爽的| 中文字幕一区图| √最新版天堂资源网在线| 日韩午夜在线电影| 日韩欧美国产综合在线| 亚洲免费看黄网站| 久久福利视频网| 欧美视频在线观看一区| 91这里只有精品| 欧美男同视频网| 亚洲欧美日韩中文播放| 国产在线视频在线| 全国精品久久少妇| 一区二区三区四区国产精品| 亚洲国产中文在线| 日韩在线观看av| 亚洲视频电影图片偷拍一区| 亚洲天堂网在线播放| 国产精品精品视频一区二区三区| 色乱码一区二区三区网站| 国产卡一卡二卡三| 欧美激情视频一区| 久久久久久久久一区二区| 欧美乱人伦中文字幕在线| 99热国产免费| 亚洲综合电影| 国产精品一区二区久久精品爱涩| 日韩网站在线播放| 国产大学生av| 精品电影一区| 裸体网站视频| 日韩中文在线中文网在线观看| 在线看片黄色| 又色又爽又黄18网站| 国产亚洲自拍一区| 国产精品一区二区久久久久| 亚洲精品国产成人影院| 日产欧产va高清| 91视频论坛| 在线视频 中文字幕| 中文永久免费观看| 欧美三日本三级三级在线播放| 国产色综合一区| 深田咏美中文字幕| 亚洲视频电影| 浓精h攵女乱爱av| 自拍偷拍福利视频| 日本乱人伦a精品| 一区精品久久| 亚洲欧美日韩精品久久久久| 国产三级在线观看完整版| 日韩欧美成人网| 日韩1区2区| 久久综合导航| 欧美国产日韩亚洲一区| 日韩av在线电影观看| 国产亚洲精品资源在线26u| 久久久精品国产sm调教网站| 四虎.com| 97精品人妻一区二区三区在线| 久久婷婷综合中文字幕| 国产成人久久久精品一区| 精品人妻无码一区| 成人在线免费小视频| 国产成人成网站在线播放青青| 麻豆免费在线观看视频| 国产 欧美在线| 亚洲一区不卡| 国内精品久久影院| 精品国产99久久久久久宅男i| 亚洲素人一区二区| 亚洲精品国产综合区久久久久久久| 欧美a∨亚洲欧美亚洲| 男女超爽视频免费播放| 久久久五月婷婷| 国产性一级片| jlzzjlzz亚洲女人| 国产精品一级二级三级| 在线成人视屏| 我和岳m愉情xxxⅹ视频| 国产精品久久久久久在线观看| 欧美97人人模人人爽人人喊视频| 日韩一区二区三区视频在线观看| 国产视频一区二区三区在线观看| 红桃视频一区二区三区免费| 精品欧美久久| 在线观看免费高清完整| 七七婷婷婷婷精品国产| 国产在线播放一区| 国产高清一区在线观看| 7777精品| 国产电影一区二区三区爱妃记| 久热re国产手机在线观看| 欧美一区二区三区播放| 中文字幕中文乱码欧美一区二区| eeuss鲁片一区二区三区在线观看| 欧美一级大胆视频| 国产一区二区在线播放| 欧美日韩电影在线观看| 狠狠色一日本高清视频| 亚洲精品国精品久久99热一| 亚洲大香人伊一本线| 日韩不卡在线观看日韩不卡视频| 欧美做爰性欧美大fennong| 色婷五月综激情亚洲综合| 实拍女处破www免费看| 欧美69xx性欧美| mm1313亚洲国产精品无码试看| 久久99热99| 网曝91综合精品门事件在线| freehdxxxx护士| 亚洲小视频在线观看| 99热免费精品在线观看| 日本美女高潮视频| 一区二区三区四区欧美| 亚洲我射av| 欧美日本乱大交xxxxx| 亚洲乱码中文字幕久久孕妇黑人| 91免费在线视频观看| 国产在线不卡一卡二卡三卡四卡| 午夜写真片福利电影网| 久久人人97超碰com| 亚洲综合图片区| 国模吧精品人体gogo| 毛葺葺老太做受视频| 操人真爽免费视频| 国产激情91久久精品导航| 国产视频丨精品|在线观看| 欧美成人三级在线观看| 热re99久久国产精品| 亚洲天堂一区二区| 成人91免费视频| 中文字幕在线观看你懂的| 亚洲图色中文字幕| 国产精品专区h在线观看| 成人在线视频免费播放| 欧美激情亚洲色图| 在线免费观看a视频| 亚洲一区二区在线免费看| 精品少妇人妻一区二区黑料社区| 日韩在线一区视频| a在线观看网站| 欧美日韩电影在线播放| 天天噜天天色| 超碰在线caoporen| 狂野欧美性猛交xxxx巴西| 国产+成+人+亚洲欧洲| 成人在线观看视频网站| 久久久久久久久久久久久女国产乱| 9191精品国产综合久久久久久| 五月激情综合| 手机av在线免费|