標籤:
redis hash 是一個string類型的field和value的映射表。
它的添加、刪除操作都是O(1)(平均),hash特別適合用於儲存物件
將一個Object Storage Service在hash類型總會佔用更少的記憶體,並且可以更方便的存取
整個對象。
hset方法:設定hash field為指定值,如果key不存在,則先建立
127.0.0.1:6379> hset user:001 name xiaoming
(integer) 1
127.0.0.1:6379> hget user:001 name
"xiaoming"
hsetnx方法:設定hash field為指定值,如果key不存在,則先建立。
如果存在返回0.
127.0.0.1:6379> HSETNX user:001 name xiaohong
(integer) 0
hmset方法:大量設定hash field
127.0.01:6379> get user:002 name
(error) ERR wrong number of arguments for ‘get‘ command
127.0.01:6379> hget user:002 name
"xiaoming"
127.0.01:6379> hget user:002 age
"10"
127.0.01:6379> hget user:002 gender
"1"
hget方法:擷取hash指定的filed的值
hmget方法:批量擷取hash指定的filed值
127.0.01:6379> HMGET user:002 name age gender
1) "xiaoming"
2) "10"
3) "1"
hincrby方法:指定的hash field加上指定的值
127.0.01:6379> hincrby user:002 age 8
(integer) 18
127.0.01:6379> HMGET user:002 name age gender
1) "xiaoming"
2) "18"
3) "1"
hexists方法:測試指定的field是否存在,存在返回1
127.0.01:6379> HEXISTS user:002 name
(integer) 1
hlen方法:返回指定hash 的鍵數
127.0.01:6379> hlen user:002
(integer) 3
hdel方法:刪除指定的hash的filed
127.0.01:6379> HDEL user:002 age
(integer) 1
127.0.01:6379> hget user:002 age
(nil)
hkeys方法:返回hash的所有field
127.0.01:6379> hkeys user:002
1) "name"
2) "gender"
hvals方法:返回hash的所有的value
127.0.01:6379> HVALS user:002
1) "xiaoming"
2) "1"
hgetall方法:返回所有欄位和其對應值
127.0.01:6379> hgetall user:002
1) "name"
2) "xiaoming"
3) "gender"
4) "1"
redis資料類型:hashes