Redis學習第三課:Redis Hash類型及操做

Redis hash是一個string類型的field和value的映射表。它的添加、刪除操做都是O(1)(平均)。hash特別適用於存儲對象。相較於對象的每一個字段存在單個string類型。將一個對象存儲在hash類型中會佔用更小的內存,而且能夠更方便的存取整個對象。測試

hset:設置hash field爲指定值,若是key不存在,則先建立。對象

hget:獲取指定的hash field。內存

127.0.0.1:6379>hset user:001 name Tomget

(integer)1string

127.0.0.1:6379>hset user:001 age 28hash

(integer)1command

127.0.0.1:6379>hget user:001 nameerror

"Tom"di

hsetnx:設置hash field爲指定值,若是key不存在,則先建立。若是存在則返回0。co

127.0.0.1:6379>hset user:001 name Jack

(integer)0

hmset:同時設置hash的多個字段。

hmget:獲取所有指定的hash field。

127.0.0.1:6379> hmset user:002 id 1 name Mark sex male age 29

OK

127.0.0.1:6379> hget user:002

(error) ERR wrong number of arguments for 'hget' command

127.0.0.1:6379> hmget user:002 id name male age

1) "1"

2) "Mark"

3) (nil)

4) "29"

hincrby:指定的hash field加上給定值。

127.0.0.1:6379> hincrby user:002 age 6

(integer) 35

127.0.0.1:6379> hincrby user:002 age -2

(integer) 33

hexists:測試指定field在hash中是否存在。

127.0.0.1:6379> hexists user:002 sex

(integer) 1

127.0.0.1:6379> hexists user:001 sex

(integer) 0

hlen:返回指定hash的field數量。

127.0.0.1:6379> hlen user:001

(integer) 2

127.0.0.1:6379> hlen user:002

(integer) 4

hdel:刪除指定hash的field。

127.0.0.1:6379> hdel user:002 sex

(integer) 1

127.0.0.1:6379> hget user:002 sex

(nil)

hkeys:返回hash的全部field。

127.0.0.1:6379> hkeys user:002

1) "id"

2) "name"

3) "age"

127.0.0.1:6379> hkeys user:001

1) "name"

2) "age"

hvals:返回hash的全部value。

127.0.0.1:6379> hvals user:002

1) "1"

2) "Mark"

3) "33"

hgetall:獲取某個hash中所有的field及value。

127.0.0.1:6379> hgetall user:002

1) "id"

2) "1"

3) "name"

4) "Mark"

5) "age"

6) "33"

相關文章
相關標籤/搜索