gpt4 book ai didi

redis - Redis 哈希中的子属性

转载 作者:IT王子 更新时间:2023-10-29 06:13:07 25 4
gpt4 key购买 nike

我是 Redis 的新手,可能错过了一些明显的东西,如果我错过了一些简单的东西,请原谅。

在 Redis 的散列中,我有一组要使用 HMSET 设置的属性,但其中一个属性需要包含子属性。它应该是一个具有子属性“名称”、“位置”和“电话号码”的卖家属性。这是如何运作的?我尝试设置的哈希值之一如下所示:

hmset ad:1 car:"2018 Chevy Colorado"Year:"2018"Miles:"4"Seller:(需要子属性)

非常感谢!

最佳答案

Redis 不支持散列或其任何数据结构中的子属性。所以你必须建立自己的约定来存储子属性。

人们通常会执行以下操作之一 -

  1. 您可以将卖家移至它自己的哈希中,然后仅将卖家 ID 存储在您的汽车对象中。检索应用程序中的两个对象并将其合并。如果您有超过 1 个卖家,这种方法也可以很好地扩展。只需将所有 ID 存储在一个集合或列表中。

  2. 或者您可以“展平”对象。例如,存储 3 个字段“seller.name”、“seller.phone”、“seller.location”,而不是 1 个字段“seller”。一些 redis 库(请参阅 java 中的 spring)可以自动为您进行此转换。

  3. 不使用散列,而是序列化您的对象并将其存储在 redis 字符串中。有多种方法可以序列化一个复杂的对象。您可以使用 JSON、消息包、 Protocol Buffer 等。或者您可以使用编程语言的默认序列化机制。

关于redis - Redis 哈希中的子属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49312373/

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