Redis hash是一个string类型的field和value的映射表.一个key可对应多个field,一个field对应一个value。
将一个对象存储为hash类型,较于每个字段都存储成string类型更能节省内存。新建一个hash对象时开始是用zipmap(又称为small hash)来存储的。
这个zipmap其实并不是hash table,但是zipmap相比正常的hash实现可以节省不少hash本身需要的一些元数据存储开销。
尽管zipmap的添加,删除,查找都是O(n),但是由于一般对象的field数量都不太多。
Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
hash类型可以理解为map集合,{key1:value1,key2:value2}
实例
Hash 的应用场景:
将一个用户作为一个 hash ,然后其属性和值就作为内部的 k-v 集合进行存储
例如
user:1 代表第 1 个用户,然后这个用户具有 name,age,job 这些字段,因为 redis 效率很高,因此适合将属性值经常变动的对象作为 hash 存储
个人理解和便于学习,进行了简单分类!
分为以下几类:
下表列出了 redis hash 基本的相关命令:
更多命令请参考: https://redis.io/commands
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)