深入浅出Redis03 使用Redis数据库(hashes类型)

一 hashes类型及操作

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

1  hset

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

redis 127.0.0.1:6379> hset user:001 name lisi
(integer) 0
redis 127.0.0.1:6379> hget user:001 name
"lisi"

2.hsetnx

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

redis 127.0.0.1:> hsetnx user: name wangwu
(integer)
redis 127.0.0.1:> hget user: name
"lisi"

3,hmset

同时设置 hash的多个field

redis 127.0.0.1:> hmset myhash field1 hello field2 world
OK
redis 127.0.0.1:> hget myhash field1
"hello"
redis 127.0.0.1:> hget myhash field2
"world"
redis 127.0.0.1:>

4 hget

获取指定的hash field

5. hmget

获取全部指定的hash field

redis 127.0.0.1:> hmset myhash field1 hello field2 world
OK
redis 127.0.0.1:> hget myhash field1
"hello"
redis 127.0.0.1:> hget myhash field2
"world"
redis 127.0.0.1:> hmget myhash field1 field2
) "hello"
) "world"

6.  hincrby

指定hash field加上给定值。

redis 127.0.0.1:> hset myhash age
(integer)
redis 127.0.0.1:> hget myhash age
""
redis 127.0.0.1:> hincrby myhash age
(integer)
redis 127.0.0.1:> hget myhash age
""

7. hexists

测试指定的field是否存在。

redis 127.0.0.1:> hexists myhash age
(integer)

8 hlen

返回指定hash的field数量

redis 127.0.0.1:> hlen myhash
(integer)

9. hdel

删除指定hash的field

redis 127.0.0.1:> hdel myhash field1
(integer)

10. hkeys

返回hash的所有field

redis 127.0.0.1:> hkeys myhash
) "field2"
) "age"

11. hgetall

获取某个hash中全部的 field及value.

redis 127.0.0.1:> hgetall myhash
) "field2"
) "world"
) "age"
) ""
上一篇:使用Redis数据库(String类型)


下一篇:国内IT软件开发人员现状