redis作为最流行的高性能的key-value数据库,笔者几乎每个项目都会用到,不过老实说,笔者在初期只会用string类型,就是说每次都是整存整取,说实话,效率不高,不知道大家有没有像我这样。
不过,我知道redis有其他类型,只是因为习惯以及懒的原因,所以长期执着于string类型,后来在空余时间,了解了其他存储方式,一看之后,瞬间就觉得自己以前太low了,今天要说的就是我redis里面的哈希(Hash)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象,如果是以前,一般是先将json转化为字符串,然后整存整取,效率太低,而hash可以允许操作单个字段和编程里面的对象类型很想(其实redis 4.0之后加入了真正的json类型)
hash的命令比string类型稍微复杂一点:
HDEL key field1 field2 ...
删除一个或多个哈希表字段
HEXISTS key field
查看哈希表 key 中,指定的字段是否存在。
HGET key field
获取存储在哈希表中指定字段的值。
HGETALL key
获取在哈希表中指定 key 的所有字段和值
HINCRBY key field increment
为哈希表 key 中的指定字段的整数值加上增量 increment 。
HINCRBYFLOAT key field increment
为哈希表 key 中的指定字段的浮点数值加上增量 increment 。
HK