gpt4 book ai didi

Redis 集合与哈希

转载 作者:IT王子 更新时间:2023-10-29 05:54:11 25 4
gpt4 key购买 nike

在许多 Redis 教程中(例如 this one),数据存储在一个集合中,但多个值组合在一个字符串中(即一个用户帐户可能作为两个条目存储在集合中,“user:1000 :用户名”和“用户:1000:密码”)。

然而,Redis 也有哈希。似乎有一个“user:1000”散列更有意义,它包含一个“用户名”条目和一个“密码”条目。无需连接字符串来访问特定值,您只需直接在散列中访问它们。

那么为什么它没有被广泛使用呢?这些只是旧教程吗?还是 Redis 哈希有性能问题?

最佳答案

Redis 哈希非常适合存储更复杂的数据,就像您在问题中建议的那样。我正是为此而使用它们 - 存储具有多个需要缓存的属性的对象(具体来说,是电子商务网站上特定产品的库存数据)。当然,我可以使用连接的字符串 - 但这会给我的客户端代码增加不必要的复杂性,并且不可能更新单个字段。

您可能是对的 - 这些教程可能只是在引入哈希之前。它们显然是为存储对象表示而设计的:http://oldblog.antirez.com/post/redis-weekly-update-1.html

我认为与简单的字符串 SET 命令相比,一个问题是插入新项目时 Redis 必须服务的命令数量(n 个命令,其中 n 是哈希中的字段数量)。对于每天访问 Redis 约 100 万次的服务,我还没有发现这是一个问题。对我来说,使用正确的数据结构比可以忽略不计的性能影响更重要。

(此外,请参阅我关于 Redis 集与 Redis 字符串的评论 - 我认为您的问题是指字符串,但如果我错了请纠正我!)

关于Redis 集合与哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com