【问题标题】:Redis rejson or stringRedis rejson 或字符串
【发布时间】:2018-12-05 01:57:02
【问题描述】:

我将使用 Redis 来存储具有嵌套结构的 json 文档。我的要求只是设置和获取文件。我不需要对文档执行任何 json 特定命令。使用 rejson 模块我有什么好处吗? GET 和 SET 命令将比 JSON.GET 和 JSON.SET 命令执行得更好。以下来自redis文档

JSON.SET 从 1.0.0 开始可用。时间复杂度:O(M+N),其中 M 为 原始值的大小(如果存在),N 是 新的价值。

JSON.GET 从 1.0.0 开始可用。时间复杂度:O(N),其中 N 是 值的大小。

GET 密钥 从 1.0.0 开始可用。时间复杂度:O(1)

SET 键值 [expiration EX 秒|PX 毫秒] [NX|XX] 从 1.0.0 开始可用。时间复杂度:O(1)

只是想确认将文档存储为字符串值是正确的做法。

【问题讨论】:

    标签: redis redisjson


    【解决方案1】:

    如果您真的不需要直接查询您的 JSON 值,那么将 JSON 存储为原始字符串会更便宜,因为在读/写时不会解析 JSON。

    【讨论】:

    • 谢谢科迪。对我来说很有意义。
    • 您的 JSON 文档有多大?您可能会发现,如果它们非常大,那么将它们压缩并存储为 byte[] 可能会帮助您提高性能。显然取决于您的负载以及写入与读取的混合以及您的 gzip 例程在您的负载下执行的速度。这就是我们的缓存包装器的工作方式。
    • ReJSON 作者在这里 - 同意 Cody(至少与当前 v1 ;))。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多