前言
上节我们介绍了Redis的String类型,今天我们聊聊Hash类型,从上节的学习我们知道要存储一个值对应的属性特别方便,但是如果要像Mysql数据库那样存储一条数据就比较麻烦了,或者说像Java的Model一样存储一个实体对象,该怎么存储呢?所以今天我们来聊聊Hash存储,它就可以满足这种类型的数据存储。
首先我们来看下存储一个User对象的属性值,包含name、age、job属性:
下面我们开始讲解Hash的命令
将Hash表中key的字段赋值:hset key file value
获取Hash表中指定key的字段的值:hget key file
查看Hash表中指定key的字段是否存在:hexists key file
批量设置Hash表中指定key的多个字段值:
hmset key file1 value1 file2 value2 ...
当字段 field 不存在时,才成功设置Hash表中指定key指定字段的值:
hsetnx key file value
获取Hash表中指定key的所有字段和对应的值:hgetall key
删除Hash表中指定key的字段和对应的值:hdel key file
删除Hash表中指定key的多个字段和对应的值:hdel key file1 file2 ...
将Hash表中指定key的字段值增量增加整型:hincrby key file increment
将Hash表中指定key的字段值增量增加浮点型:hincrbyfloat key file increment
获取Hash表中指定key的所有字段:hkeys key
获取Hash表中指定key的所有字段数量:hlen key
获取Hash表中指定key指定字段的值:hmget key file1 file2 ...
获取Hash表中指定key的所有字段的值:hvals key
从Hash表中指定key中分批返回字段和对应的值:hscan key
返回值代表当前取到第几个下标的值了,0代表全部取出来了