成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP+Redis實(shí)戰(zhàn)教程(5):hash散列類型

Elle / 1262人閱讀

摘要:我們發(fā)現(xiàn),第一個(gè)結(jié)果為第一個(gè)鍵值對(duì)的鍵,第二個(gè)結(jié)果為鍵值對(duì)的值,以此類推,每?jī)蓚€(gè)為一組。其結(jié)果為,少了兩個(gè)結(jié)果,畢竟剛剛刪除了一個(gè)鍵值對(duì)版本演示第一步,鏈接數(shù)據(jù)庫我們先插入一個(gè)鍵值對(duì)到散列。原因即是,剛剛已經(jīng)被刪除

3、hash散列類型

簡(jiǎn)介

hash散列類似于一個(gè)小型的Redis數(shù)據(jù)庫

一個(gè)散列可以包含多個(gè)鍵值對(duì)

散列的每個(gè)鍵都不能重復(fù),各不相同,無序排列

其值可以是字符串或數(shù)字值

對(duì)于數(shù)字值,可以執(zhí)行自增或者自減操作

散列結(jié)構(gòu)

下面的結(jié)構(gòu)中,user代表鍵名,其可以包含多個(gè)不同的鍵值對(duì)。

[
    "user":[
        "name1":"yanying1",
        "name2":"yanying2",
        "name3":"yanying3"
    ]
]

操作方法

命令 行為
hset 將指定的元素添加到散列
hget 獲取指定的鍵的值
hgetall 獲取散列所有的鍵值對(duì)
hdel 刪除給定鍵
$redis->hset PHP版本,添加元素到散列
$redis->hget PHP版本,獲取指定鍵的值
$redis->hgetall PHP版本,獲取散列所有的鍵值對(duì)
$redis->hdel PHP版本,刪除給定鍵

演示(命令行 + PHP演示)

命令行:

首先,我們添加一個(gè)鍵值對(duì)到散列。如果 成功則返回1;如果鍵已經(jīng)存在,返回0

hset hash-key sub-key1 value1 // 返回 1

我們?cè)偬砑右粋€(gè)不存在的鍵值對(duì)

hset hash-key sub-key2 value2 // 返回 1

這個(gè)時(shí)候,散列中已經(jīng)存在鍵sub-key1sub-key2,接下來我們?cè)偬砑右粋€(gè)相同的鍵sub-key1到散列中,看看會(huì)發(fā)生什么:

hset hash-key sub-key1 value1 // 返回 0,由于該鍵已經(jīng)存在

下面我們通過hget獲取一個(gè)給定鍵sub-key1的值。

hget hash-key sub-key1 // "value1"

成功獲取了一個(gè)值。我們?cè)佾@取添加的所有元素看看,剛剛的到底添加了哪幾個(gè)值

hgetall hash-key

其結(jié)果如下。我們發(fā)現(xiàn),第一個(gè)結(jié)果為第一個(gè)鍵值對(duì)的鍵,第二個(gè)結(jié)果為鍵值對(duì)的值,以此類推,每?jī)蓚€(gè)為一組。

"sub-key1"
"value1"
"sub-key2"
"value2"

下面我們?cè)囍鴦h除一個(gè)鍵試試,我們會(huì)發(fā)現(xiàn)如果 該鍵之前存在于散列中,那么刪除時(shí)候則返回1,否則,返回0

hdel hash-key sub-key1 // 該鍵之前存在于散列,返回1

我們?cè)僭囍鴦h除一次sub-key1,發(fā)現(xiàn)當(dāng)刪除 不存在的鍵的時(shí)候,返回結(jié)果0

hdel hash-key sub-key1

我們?cè)俅潍@取全部鍵值對(duì),看看還剩些什么。

hgetall hash-key

其結(jié)果為,少了兩個(gè)結(jié)果,畢竟剛剛刪除了一個(gè)鍵值對(duì)

"sub-key1"
"value1"

PHP版本演示

第一步,鏈接redis數(shù)據(jù)庫

$redis = new Redis();
$redis->connect("127.0.0.1", 6379);

我們先插入一個(gè)鍵值對(duì)到hash-key散列。1代表插入成功;0元素代表已經(jīng)存在

$redis->hset("hash-key","sub-key1","value1"); // int 1,元素插入成功,之前不存在該鍵

我們?cè)俅尾迦胂嗤I值對(duì)

$redis->hset("hash-key","sub-key1","value1"); // int 0,元素插入失敗,該鍵已經(jīng)存在

為了下面的演示使用,我們繼續(xù)插入一些其他的值

$redis->hset("hash-key","sub-key2","value2"); // int 0

下面我們使用hget獲取鍵對(duì)應(yīng)的值。我們?cè)囋嚝@取sub-key2的值。

$redis->hget("hash-key","sub-key2"); // "value2"

獲取了一個(gè)后,我們?cè)趪L試使用hgetall獲取剛剛插入的全部值,看看里面包含哪些鍵值對(duì)

$redis->hgetall("hash-key");

獲得結(jié)果,是一個(gè)包含完整鍵值得數(shù)組

array (size=2)
  "sub-key1" => string "value1" (length=6)
  "sub-key2" => string "value2" (length=6)

查看完了所有的鍵值對(duì),我們嘗試刪除其中一個(gè)鍵。 如果之前鍵存在于散列中,則返回1,反之,返回0

$redis->hdel("hash-key","sub-key1"); // 該鍵之前存在,返回int 1

我們?cè)俅螄L試刪除sub-key1鍵,發(fā)現(xiàn)其返回0. 則說明該鍵不存在集合中,刪除失敗

$redis->hdel("hash-key","sub-key1"); // 該鍵不存在,返回int 0

下面我們使用hgetall查看下散列中還剩余的所有鍵值對(duì)

$redis->hgetall("hash-key");

發(fā)現(xiàn),只返回了包含一個(gè)鍵值對(duì)的數(shù)組。

array (size=1)
  "sub-key2" => string "value2" (length=6)
  

原因即是,剛剛sub-key1已經(jīng)被刪除

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/21930.html

相關(guān)文章

  • PHP+Redis實(shí)戰(zhàn)教程(1):初識(shí)Redis

    摘要:本文為實(shí)戰(zhàn)讀書筆記簡(jiǎn)介是一個(gè)非關(guān)系型遠(yuǎn)程內(nèi)存數(shù)據(jù)庫,由于操作都在內(nèi)存中,所以的速度非???,性能十分強(qiáng)勁。同時(shí),還可以自動(dòng)的以兩種不同的方式將數(shù)據(jù)庫內(nèi)容持久化到硬盤,保證數(shù)據(jù)的完整性。數(shù)據(jù)格式支持字符串列表集合散列有序集合數(shù)據(jù)類型。 本文為《Redis實(shí)戰(zhàn)》讀書筆記 Redis簡(jiǎn)介 Redis是一個(gè)非關(guān)系型遠(yuǎn)程內(nèi)存數(shù)據(jù)庫,由于操作都在內(nèi)存中,所以Redis的速度非???,性能十分強(qiáng)勁。 它...

    張遷 評(píng)論0 收藏0
  • Python--Redis實(shí)戰(zhàn):第一章:初識(shí)Redis:第二節(jié):Redis數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)介

    摘要:上一篇文章實(shí)戰(zhàn)第一章初識(shí)第一節(jié)簡(jiǎn)介下一篇文章實(shí)戰(zhàn)第一章初識(shí)第三節(jié)你好文章投票試煉可以存儲(chǔ)鍵與種不同的數(shù)據(jù)結(jié)構(gòu)類型之間的映射,這中數(shù)據(jù)結(jié)構(gòu)類別分別是字符串列表集合散列和有序集合。 上一篇文章:Python--Redis實(shí)戰(zhàn):第一章:初識(shí)Redis:第一節(jié):Redis簡(jiǎn)介下一篇文章:Python--Redis實(shí)戰(zhàn):第一章:初識(shí)Redis:第三節(jié):你好Redis-文章投票試煉 Redis可...

    ghnor 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<