本文介绍: 在 redis 中,string 类型hash 类型,都可以用来存储对象信息结构数据)。那么,stringhash什么区别?该如何抉择?既然 string 可以实现相同功能,为何还要用 hash 呢?在 redis 官网看到优先使用 hash 的字眼,主要是基于以下三个因素内存占用率、时间复杂度使用简便性

redis 中,string 类型和 hash 类型,都可以用来存储对象信息结构数据)。

那么,stringhash什么区别?该如何抉择?

既然 string 可以实现相同功能,为何还要用 hash 呢?在 redis 官网看到优先使用 hash 的字眼,主要是基于以下三个因素内存占用时间复杂度使用的简便性

假设用户user 有三个字段 id, nameage

string 类型

第一种存储方式:单独存储用户每个属性字段

127.0.0.1:6379> set user:1:name jack
OK
127.0.0.1:6379> set user:1:age 20
OK

生产环境中,一般不会采用这种方式

第二种存储方式:先将整个用户信息对象数组转换json 字符串然后再存储。

set user:1 json_str

生产环境中,可以采用这种方式。

hash 类型

hash 可以对结构体数据的每个属性(字段)进行单独存储和访问

采用 hash 存储用户信息

127.0.0.1:6379> hmset user:1 name jack age 20
OK

127.0.0.1:6379> hget user:1 name
"jack"
127.0.0.1:6379> hgetall user:1
1) "name"
2) "jack"
3) "age"
4) "20"

总结推荐优先使用 hash 来存储用户信息

原文地址:https://blog.csdn.net/lamp_yang_3533/article/details/129261274

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_37966.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注