Redis中用于存储对象的hset和set有什么区别?

4

我有一个json对象,比如一个用户对象,其中包含大约10个键/值对,我目前将其存储在不同的集合中以进行各种分组。

我将对象字符串化,然后在输出时解析它。更新有时很麻烦,因为我必须获取数据然后重置数据。

我正在考虑切换到哈希集并使用hmset和hgetall。

使用哈希是否有任何缺点?性能或其他方面,还是这将是更好的解决方案?

1个回答

8
如果用户对象是扁平的,即没有嵌套对象,则哈希表是完美的。使用hget获取单个字段的时间复杂度为O(1)。使用hgetall获取整个对象的时间复杂度为O(n),其中n是字段数,所以在您的情况下,速度将非常快。
只需记住,哈希字段值存储为字符串。因此,当从Redis获取数据时,您可能需要进行一些类型转换。

好的,听起来不错。我会使用ioredis,它有传输功能来返回一个对象。 - dzm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接