【问题标题】:redis hset vs set for storing an objectredis hset vs set 用于存储对象
【发布时间】:2015-12-08 16:53:06
【问题描述】:

我有一个 json 对象,例如一个包含大约 10 个键/值对的用户对象,我目前存储在集合中以用于各种分组。

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

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

使用哈希有什么缺点吗?性能或其他方面,或者这会是更好的解决方案吗?

【问题讨论】:

    标签: redis


    【解决方案1】:

    如果用户对象是扁平的,即没有嵌套对象,那么哈希是完美的。使用 hget 获取单个字段是 O(1)。使用 hgetall 获取整个对象是 O(n),其中 n 是字段数,因此在您的情况下它也会非常快。

    请记住,哈希字段值存储为字符串。所以当你从 redis 取回数据时,你可能需要做一些类型转换。

    【讨论】:

    • 听起来不错,我将使用具有传输功能的 ioredis 来返回对象
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 2020-06-29
    • 1970-01-01
    • 2013-12-08
    • 2013-03-14
    相关资源
    最近更新 更多