redis数据类型:hashes

redis hash 是一个string类型的field和value的映射表。

它的添加、删除操作都是O(1)(平均),hash特别适合用于存储对象

将一个对象存储在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"

 

posted @ 2016-08-03 13:05  玉曲风  阅读(205)  评论(0编辑  收藏  举报