小蚂蚁学习Redis笔记(4)——Redis数据类型之hashes类型

hashes类型

    hash是一个string类型的field和value的映射表。它特别适合用于存储对象。相较于将对象的每个字段存成单个的string类型,将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。


hashes常用命令

1.    hset    设置对象的字段和值

    格式:    hset    user:001    name    "allen"

    含义:为user:001这个对象,将它的name字段设置一个值为allen。

    注意:如果同样的对象,同样的字段设置多次,上次的值会被覆盖掉。在第一次设置成功的时候返回1,重复设置返回0.

2.    hsetnx    同上,但是对象的字段不能重复

    格式:    hsetnx    user:001    name    "amy"

    含义:    为user:001这个对象,将它的name字段设置一个值为amy,但是这个字段存在,则无法设置,返回0。如果不存在,就创建。和setnx很像。

3.    hmset    批量设置对象的字段和值

    格式:    hmset    user:002    name    “allen”    age    “27”    sex    “1”

    含义:    批量设置对象的字段和值。成功返回OK。重复设置会发生覆盖。

4.    hget    获取对象中某字段的值

    格式:    hget    user:002    name

    含义:    获取user:002对象字段为name的值。如果字段不存在返回空(nil)

5.    hmget    批量获取对象的值

    格式:    hmget    user:002    name    age    sex    对象后面跟着需要查看的字段

    含义:    根据设置字段的顺序依次返回需要的值,如果字段不存在,返回空(nil)

6.    hincrby    为对象中的某元素的值进行指定数值的递增。

    格式:    hincrby    user:002    age    3

    含义:    为user:002中的age字段,每次递增3。

    注意:    这个命令和incrby一样,正数是递增,负数为递减。

7.    hexists    检查哈希中某个字段是否存在

    格式:    hexists    user:002    name

    含义:    查看user:002中是否存在name这个字段。存在返回1,不存在返回0。

8.    hlen    查看对象中字段的个数

    格式:    hlen    user:002 

    含义:    查看user:002中字段的个数。

9.    hdel    删除指定hash中的字段

    格式:    hdel    user:002    name

    含义:    删除掉对象user:002的name字段。删除成功,返回1。失败返回0。

10.    hkeys    返回某对象所有的字段

    格式:    hkeys    user:002

    含义:    返回user:002所有的字段。

11.    hvals    返回某对象所有的值

    格式:    hvals    user:002

    含义:    返回对象user:002中的所有值。

12.    hgetall    返回某对象所有内容。有字段,有值。

    格式:    hgetall    user:002

    含义:    返回user:002对象的所有内容。

    注意:    如果对象不存在,返回 (empty list or set)


学PHP的小蚂蚁 原创博客 http://my.oschina.net/woshixiaomayi/blog




你可能感兴趣的:(redis)