Redis数据结构--Hash常用命令

创建hash:

格式:hset key field value
示例:hset myhash username root
作用:设置hash里一个字段的值
成功:返回1
失败:返回0

格式:hmset key field value [field value ...]
示例:hset myhash username root password 123456
作用:设置hash里多个字段的值
成功:OK
失败:返回0

格式:hsetnx key field value
示例:hsetnx myhash id 1 name wei
作用:设置hash的一个字段,当字段不存在时有效
成功:返回1
失败:返回0

获得hash:

格式:hget key field
示例:hget myhash username
作用:获取hash中field的值
成功:返回对应的value
失败:返回nil

格式:hgetall key
示例:hgetall myhash
作用:从hash中读取全部的域和值
成功:返回全部域和值,格式为:域(换行)值(换行)域(换行)….
失败:返回empty list or set(原因:key没创建或没值)

格式:hmget key field [field ...]
示例:hmget myhash id name
作用:获取hash中指定字段的值
成功:返回hash中指定字段的值,每行一条
失败:返回nil(确保输入正确)

格式:hlen key
示例:hlen myhash
作用:获取hash中所有字段的数量
成功:返回hash中所有字段的数量
失败:0(key不存在或者没值)

格式:hkeys key
示例:hkeys myhash
作用:获取hash里所有字段名称
成功:返回hash中字段的名称,每行一条
失败:返回empty list or set

格式:hvals key
示例:hvals myhash
作用:获取所有value值
成功:返回hash中的值,每行一条
失败:返回empty list or set

删除hash

格式:hdel key field [field]
示例:hdel myhash username password
作用:删除一个或多个hash的field
成功:返回删除的个数
失败:返回0

修改hash

修改hash直接用对应的set方法覆盖原本的值

其他

格式:hexists key field
示例:hexists myhash username
作用:判断hash中是否存在指定field
成功:返回1
失败:返回0

格式:hincrby key field increment
示例:hincrby myhash age 3
作用:将hash中指定域的值增加increment
成功:返回增加后的值
失败:返回ERR hash value is not an integer(增加值的域不是整型)
注意:返回的值是increment时可能是因为该field原本不存在!该方法会创建对应的field

格式:hincrbyfloat key field increment
示例:hincrbyfloat myhash wage 200.3
作用:将hash中指定域的值增加increment(浮点数)
成功:返回增加后的值
失败:返回ERR hash value is not an float(增加值的域不是浮点数)
注意:返回的值是increment时可能是因为该field原本不存在!该方法会创建对应的field

格式:hstrlen key field
示例:hstrlen myhash username
作用:获取hash指定域的值的长度
成功:返回指定域的值的长度
失败:返回0(域不存在)

特别的

格式:hscan key cursor [MATCH pattern] [COUNT count]
示例:hscan myhash 0 mathch *d* count 5
作用:迭代数据集
成功:第一行返回游标,第二行开始是本次迭代的元素
失败:第一行返回游标,第二行返回empty list or set

猜你喜欢

转载自blog.csdn.net/saywhat_sayhello/article/details/80289680
今日推荐