gpt4 book ai didi

hash - Redis 按字段和值进行哈希搜索

转载 作者:可可西里 更新时间:2023-11-01 11:15:00 30 4
gpt4 key购买 nike

这是我的用例:

我有一个简单的客户端/服务器应用程序,其中的通信通过 socket.io 进行。由于我需要跟踪房间名称及其对应的套接字所有者,因此我决定创建简单的 Redis hash,其中,每一对都是 .这个散列允许我通过房间名称快速找到特定房间所有者的 socketId。到目前为止,一切都很好。上面的哈希在 subscribe 后端事件上更新,使用非常简单的 haset 通过 node_redis 调用redis.client.hset(keyRoomToSocketId, room, socketId, cb);这确保每次新套接字到达并创建其自己的具有唯一名称的房间时,将其 socketId 及其相应字段 - room 设置为散列。

现在,我想在 socket disconnect 事件中找到这对并将 socketId 设置为空字符串。显然(如果我错了请告诉我),我无法通过 socketId 搜索散列。我的想法是并行地制作一个散列,其中,要反转的对,即 .这将允许我通过 socketId 搜索第二个哈希,检索房间,从那里删除对,然后搜索第一个哈希并将 socketId 设置为“”到相应的对中。

有什么我遗漏的吗?我可以使用 Redis 以更有效的方式做到这一点吗?

最佳答案

这应该可行 - 您的想法是正确的。您将要做的基本上是双向映射,一两个哈希简单而高效,主要的“代价”是数据重复。非规范化是 NoSQL 尤其是 Redis 的常见做法。

关于hash - Redis 按字段和值进行哈希搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52202826/

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