redis的hash集合

hash集合可以认为是在redis中保存了一个实体类,这个实体类不同于字符串,列表等结构,这个实体类相当于一个hashmap....

  1. 保存
hset [key] [field] [value]
# 将一个名为key的hashmap保存在redis中
# 把field value看做一种hashmap的数据类型就好理解了
!例如:
hset user id 1
hset user name zhangsan
hset user age 23
#这个user包含三条属性
  1. 取值
hget [key] [field]
# 没什么可说的
  1. 一次性保存多个字段multi
hmset [key] [field1] [value1] [field2] [value2] ...
# 没什么可说的
  1. 一次性取多个字段multiple
hmget [key] [field1] [field2] ....
# 没什么可说的
  1. 一次性取出所有字段
hgetall [key]
# 会依次罗列出所有键值对
第一行  键1
第二行  值1
第三行  键2
第四行  值2
......
  1. 删除指定字段
hdel [key] [field1] [field2] ...
# 没什么可说的
  1. 查看一个hash集合中有几个字段
hlen [key]
  1. 判断一个hash集合中有没有这个字段
hexists [key] [field]
# 有返回1,没有返回0
  1. 遍历一个hash集合中的所有key(field)
hkeys [key]
# 相当于java中map的keyset()方法
  1. 遍历一个hash集合中的所有value
hvals [key]
# 这里的value对应的是上面的field
  1. 给指定field增加数字
hincrby [key] [field] [value]
# field必须是整型数字
# value是给这个field加的数字,必须也是整型
# 如果是空,就直接添加一个value值
  1. 给指定field增加浮点数
hincrbyfloat [key] [field] [value]
# 给指定key的hash集合中的field键对应的值增加value数值
# field必须是个数字
# 如果field是空,就直接添加这个field
  1. 如果不存在再set,已经存在就不set
hsetnx [key] [field] [value]
# 和hset功能一样
# 但是如果已经有field和value键值对,则不set

推荐阅读更多精彩内容