在我的 nodejs 应用程序中,我使用 Redis 键作为通道名称。我希望客户端仅在存在相应密钥的情况下才订阅频道。问题在于 EXISTS 命令和 SUBSCRIBE 命令之间,另一个客户端可能会删除现有密钥。我不能使用 WATCH-MULTI-EXEC 使其原子化,因为我不能在 MULTI-EXEC 块中使用 SUBSCRIBE。我也不能使用 Lua 脚本。
在这种情况下是否有任何方法可以保持原子性?
在我的 nodejs 应用程序中,我使用 Redis 键作为通道名称。我希望客户端仅在存在相应密钥的情况下才订阅频道。问题在于 EXISTS 命令和 SUBSCRIBE 命令之间,另一个客户端可能会删除现有密钥。我不能使用 WATCH-MULTI-EXEC 使其原子化,因为我不能在 MULTI-EXEC 块中使用 SUBSCRIBE。我也不能使用 Lua 脚本。
在这种情况下是否有任何方法可以保持原子性?