JSON 使用场景
提示
来自deepseek解释
原文链接:https://redis.io/docs/latest/develop/data-types/json/use_cases/
您当然可以使用 Redis 原生数据结构来存储 JSON 对象,这是一种常见的做法。例如,您可以将 JSON 序列化后保存到 Redis 字符串中。
然而,Redis JSON 相比这种方法提供了几个优势。
子值的访问与检索
使用 JSON,您可以获取嵌套值,而无需通过网络传输整个对象。当您在 Redis 中存储大型 JSON 对象时,能够访问子对象可以带来更高的效率。
原子部分更新
JSON 允许您原子地执行操作,例如递增数值、向数组添加或移除元素、追加字符串等。对于序列化对象,要执行相同操作,您必须检索然后重新序列化整个对象,这不仅开销大,而且缺乏原子性。
索引和查询
当您将 JSON 对象存储为 Redis 字符串时,没有好的方式来查询这些对象。相反,将这些对象存储为 JSON 允许您对它们进行索引和查询。此功能由 Redis Search 提供。
通过 JSON.SET 命令的 FPHA 选项,Redis 为用户提供了一种灵活的方式来存储浮点向量,用于向量搜索。