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