Redis命令——哈希(Hashes)相關(guān)
本文主要介紹Redis中有關(guān)哈希的操作命令,內(nèi)容主要來源于Redis的官方網(wǎng)站。如有需要請參考Redis的官方網(wǎng)站:http://redis.io/commands#hash。
1.HDEL
語法:HDEL key
field
說明:該操作的時間復(fù)雜度為O(1)。移除存儲在key上的哈希中的指定域。
返回值:如果在哈希中存在指定的域并且被移除,返回值為1;如果指定的域不存在或者key不存在,返回值為0。
該命令自1.3.10版本后可用。
2.HEXISTS
語法:HEXISTS
key
field
說明:該操作的時間復(fù)雜度為O(1)。查看存儲在key上的哈希中是否存在指定的域。
返回值:如果哈希中包含指定的域,那么返回值為1;如果哈希中不包括指定的域或者key不存在,那么返回值為0。
該命令自1.3.10版本后可用。
3.HGET
語法:HGET
key
field
說明:該操作的時間復(fù)雜度為O(1)。返回存儲在key上的哈希中與field域關(guān)聯(lián)的值。
返回值:返回與field域關(guān)聯(lián)的值,如果在哈希中該域不存在或者key不存在,那么返回者為nil。
該命令自1.3.10版本后可用。
4.HGETALL
語法:HGETALL
key
說明:該操作的時間復(fù)雜度為O(N),此處N為hash的大小。返回存儲在key上的哈希中所有的域和相關(guān)聯(lián)的值。在返回值中,每一個域的名稱后面會跟著相關(guān)聯(lián)的值。因此,響應(yīng)結(jié)果的長度是hash的大小的兩倍。
該命令自1.3.10版本后可用。
5.HINCRBY
語法:HINCRBY
key field
increment
說明:該操作的時間復(fù)雜度為O(1)。將存儲在key上的哈希中field域相關(guān)聯(lián)的值加上由increment指定的值。如果key不存在,那么將會創(chuàng)建該key,并且其值為hash類型。如果field域不存在或者具有一個不能表示為整型的字符串的值,那么在執(zhí)行該操作前會將該值設(shè)置為0。HINCRBY支持的數(shù)據(jù)范圍限定在64為有符號整數(shù)范圍內(nèi)。
返回值:返回增量操作完成后field域所關(guān)聯(lián)的值。
該命令自1.3.10版本后可用。
6.HKEYS
語法:HKEYS
key
說明:該操作的時間復(fù)雜度為O(N),此處N為hash的大小。返回存儲在key上的哈希中所有域的名稱。
該命令自1.3.10版本后可用。
7.HLEN
語法:HLEN
key
說明:該操作的時間復(fù)雜度為O(1)。返回存儲在key上的哈希中所包含的所有域的數(shù)目。
返回值:返回hash中字段的數(shù)目,如果key不存在,那么返回值為0。
該命令自1.3.10版本后可用。
8.HMGET
語法:HMGET
key field [field
...]
說明:該操作的時間復(fù)雜度為O(N),此處N為被請求的字段的數(shù)目。返回存儲在key上的哈希中各個指定域相關(guān)聯(lián)的值。對于在哈希中不存在的域,返回值為nil。因為一個不存在的key被當(dāng)做是空哈希對待,對一個不存在的key進(jìn)行HMGET操作將會返回一個nil值的列表。
返回值:與指定域相關(guān)聯(lián)的值的列表,并且按照它們被請求的順序給出。
該命令自1.3.10版本后可用。
9.HMSET
語法:HMSET
key field value [field value
...]
說明:該操作的時間復(fù)雜度為O(N),此處N為將要被設(shè)置其值的域的個數(shù)。設(shè)置存儲在key上的哈希中指定域的值。該命令會復(fù)寫哈希中已經(jīng)存在的域。如果key不存在,那么將會創(chuàng)建一個其值為哈希類型的新key。
返回值:返回狀態(tài)碼。
該命令自1.3.8版本后可用。
10.HSET
語法:HSET
key field
value
說明:該操作的時間復(fù)雜度為O(1)。設(shè)置存儲在key上的哈希中指定域的值。如果key不存在,那么將會創(chuàng)建一個持有哈希值的新key。如果指定的域在哈希中已經(jīng)存在,那么其值將會被重寫。
返回值:如果哈希中的域是一個新域并且其值被設(shè)置,那么返回值為1;如果哈希中已經(jīng)存在該域并且該域被更新,那么返回值為0。
該命令自1.3.10版本后可用。
11.HSETNX
語法:HSETNX
key field
value
說明:該操作的時間復(fù)雜度為O(1)。在指定域不存在的情況下,設(shè)置存儲在key上的哈希中該域的值。如果該key不存在,那么將會創(chuàng)建一個持有哈希值的新key。如果指定的域已經(jīng)存在,那么該操作不起作用。
返回值:如果指定的域在哈希中是一個新域并且其值被設(shè)置,那么返回值為1;如果哈希中該域已經(jīng)存在,那么該命令不起作用。
該命令自1.3.8版本后可用。
12.HVALS
語法:HVALS
key
說明:該操作的時間復(fù)雜度為O(N),此處N為哈希的大小。返回存儲在key上的哈希中存儲的所有值。
返回值:返回哈希中存儲的值的列表,如果該key不存在,那么將會返回一個空列表。
該命令自1.3.10版本后可用。
posted on 2012-06-19 11:34 強強 閱讀(450) 評論(0) 編輯 收藏 所屬分類: Redis