redis hash 是一个string类型的field和value 的映射表.它的添加、删除操作都是O(1) . hash特别适合用于存储对象.相较于将对象的每个字段存成单个string类型 . 将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象 .
hset : 设置一个hash表 , 设置hash field 为指定值 , 如果 key 不存在 , 则先创建 .
hset myhash field1 hello
eg : hset user:001 name fcz
hget user:001 name => fcz
hsetnx : 设置hash field为指定值,如果key不存在,则先创建 . 如果存在,返回0
hset user:001 name zxy => 如果这个name字段已经存过值了,会返回0
hmset : 同时设置hash的多个field
hmset user:003 name fcz age 28 sex 1 => 设置成功返回ok
hmget : 批量返回
hmget user:003 name age sex
hincrby : 按指定的数量自增
hincrby user:003 age 5
hlen : 返回指定hash的field数量
hlen user:003
hdel : 删除指定hash的field .
hdel user:003 age
hkeys : 返回hash的所有fields .
hkeys user:003
hvals : 返回hash的所有value .
hvals user:003
hgetall : 获取某个hash中全部的field 及 value
hgetall user:003