hashes类型
hash是一个string类型的field和value的映射表。它特别适合用于存储对象。相较于将对象的每个字段存成单个的string类型,将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。
hashes常用命令
1. hset 设置对象的字段和值
格式: hset user:001 name "allen"
含义:为user:001这个对象,将它的name键设置一个值为allen。
注意:如果同样的对象,同样的键设置多次,上次的值会被覆盖掉。在第一次设置成功的时候返回1,重复设置返回0.
2. hsetnx 同上,但是对象的key不能重复
格式: 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 对象后面跟着需要查看的键
含义: 根据设置key的顺序依次返回需要的值,如果键不存在,返回空(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中的key
格式: hdel user:002 name
含义: 删除掉对象user:002的name键。删除成功,返回1。失败返回0。
10. hkeys 返回某对象所有的key
格式: hkeys user:002
含义: 返回user:002所有的key。
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