Redis储存hashes类型

hashes类型及操作

  Redis hash是一个String类型的filed和value的映射表。它的添加、删除操作都是0(1)(平均)。hash特别是个用于存储对象。相较于将对象的每个字段存成单个String类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。

 一、hset  设置hash field为指定值,如果key不存在,则先创建

127.0.0.1:6379> hset user:001 name shangsan
(integer) 1
127.0.0.1:6379> hget user001 name
(nil)
127.0.0.1:6379> hget user:001 name
"shangsan"

二、hsetnx 设置hash field为指定值,如果key不存在,则先创建,如果存在返回0.

127.0.0.1:6379> hsetnx user:002 name lamp
(integer) 1
127.0.0.1:6379> get user:002 name
(error) ERR wrong number of arguments for 'get' command
127.0.0.1:6379> hget user:002 name
"lamp"
127.0.0.1:6379> hsetnx user:002 name lll
(integer) 0
127.0.0.1:6379> hget user:002 name
"lamp"

三、hmset   同时设置多个field。

127.0.0.1:6379> hmset user:001 name zhangsan age 20
OK
127.0.0.1:6379> hget user:001 name
"zhangsan"
127.0.0.1:6379> hget user:001 age
"20"

四、hmget 批量获取

127.0.0.1:6379> hmget user:001 name age
1) "zhangsan"
2) "20"

五、hincrby   对某一个建自增

127.0.0.1:6379> hincrby user:001 age 5
(integer) 25
127.0.0.1:6379> hget user:001 age
"25"

六、hexists  字段是否存在

127.0.0.1:6379> hexists user:001 name
(integer) 1
127.0.0.1:6379> hexists user:001 age
(integer) 1
127.0.0.1:6379> hexists user:001 score
(integer) 0

七、hlen 返回指定hash的field数量

127.0.0.1:6379> hlen user:001
(integer) 2

八、hdel删除指定的hash 的field

127.0.0.1:6379> hdel user:001 age
(integer) 1
127.0.0.1:6379> hget user:001 age
(nil)

九、hkeys  返回hash所有的field

127.0.0.1:6379> hkeys user:001
1) "name"

十、hvals  返回hash的所有value

127.0.0.1:6379> hvals user:001
1) "zhangsan"

十一、hgetall

获取某个hash中全部的field和value

127.0.0.1:6379> hgetall user:001
1) "name"
2) "zhangsan"

你可能感兴趣的:(Redis储存hashes类型)