前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis哈希类型的使用场景

Redis哈希类型的使用场景

作者头像
吉林乌拉
发布2019-09-30 11:06:06
9530
发布2019-09-30 11:06:06
举报
文章被收录于专栏:吉林乌拉吉林乌拉吉林乌拉

在上一篇我们详细介绍了Redis哈希类型的使用命令及内部编码,那么在这一篇中,我们将了解了解Redis哈希类型的实际使用场景。大家都知道Redis最核心功能就是性能比较高,因为是它是将数据存储到内存中的,而这是传统的关系型数据库所不具备的。用一句通俗的话来形容关系型数据库和Redis哈希类型的关系就是关系型数据库中一条记录相当于Redis哈希类型一个key。


当然我们也可以用字符串类型来存储,但字符串类型相比哈希类型来说,并不直观,并且在更新上也不便捷。因为字符串类型和哈希类型相比就相当于关系型数据库中一条记录中的一个字段。但在实际的开发中,为了减少Redis中key的个数,通常来说我们并不会为每个字段创建一个key,而是将一条数据或者一批逻辑数据,通过序列化的方式保存到一个key中,然后在更新的时候,在通过反序列化来更新数据。


而将数据保存到Redis哈希类型中则不会这么麻烦,因为Redis哈希类型可以直接修改field。除此之外Redis哈希类型和传统的关系型数据库相比,还有一个好处,就是Redis哈希类型,可以支持不同的key中包括不同的field。而在传统的关系型数据库当中如果新添加字段,则所有记录都有包括这个新字段,即使这条记录用不到这个字段。当然关系型数据库也有关系型数据库的好处,它可以做很多复杂式的关联查询,在一点上Redis哈希类型则比较困难。


下面我们通过下图来直观的感受一下关系型数据库和Redis哈希类型的区别。


下面我们看一下在使用Redis哈希类型的注意事项。

  • 在实际的开发中为了不让Redis占用内存较大,所以在使用Redis哈希类型的时候,尽量不要创建过多的键。
  • 我们知道Redis哈希类型的内部编码有ziplist和hashtable两种,并且在符合某些条件的情况下,这两种编码会自动转换。当Redis哈希类型的内部编码变成hashtable时,会比ziplist更消耗内存,在这一点要特别注意。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 吉林乌拉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档