gpt4 book ai didi

redis - 如何使用 Redis 存储和检索复合键值

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

我想将数据库表中的序列化对象存储在 Redis 中,该数据库表具有两个值的复合主键。这些对象在代码中可能类似于以下内容:

Public Class Contact
Public Property Instance_Id() As Long
Public Property Contact_Id() As Long
Public Property First_Name() As String
Public Property Last_Name() As String
End Class

Instance_Id 在一组联系人之间共享,Contact_Id 值对于每个联系人都是唯一的。

在 Redis 中存储这些对象的最快和内存效率最高的方法是什么,我可以在 Redis 中检索具有特定 Instance_Id 的所有联系人,或仅检索具有特定 Contact_Id 的联系人?

最佳答案

我会为表单(contact_id => Contact class data)的每个联系人构建一个散列,可以直接通过键(contact_id)查询来解决您的特定查找案例。然后,添加一组(已排序,如果您关心排序)(instance_id => [contact_id1, contact_id2, ... , contact_idN])。要按 instance_id 查找,您需要从一个查询中的索引集中获取 contact_ids,然后针对您返回的每个 ID,对每个 ID 执行特定查找。

从 RDBMS 的角度来看,这听起来很疯狂,我意识到,因为您习惯于将查询视为一项昂贵的操作。 Redis 命令的设计速度非常快,因此发送一大批命令来执行 RDBMS 中的一个查询是相当有效的。

关于redis - 如何使用 Redis 存储和检索复合键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15590112/

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