小编典典

如何从Redis Store Client中的键/值对中的值获取键?

redis

我在我的socket.io聊天应用程序的Redis存储中存储了用户名/ SocketID对。

当用户断开连接时,我需要从Redis存储中删除用户名/
socketID对。我已经看到了如何从键中获取值,但从未从值中获取键。可能吗?或无论哪种方式,我怎么能只从值中删除键/值对。这是我的代码

用于在连接上添加存储

socket.on('username', function (username) {

    client.set(username, socket.id, function (err) {
        console.log(username + ":" + socket.id);
    });

});

对于断开连接,客户端将不知道何时断开连接,可能是由于Internet连接断开而发生的,但是当套接字断开连接时,它总是会遇到“断开连接”事件。在这种情况下,我需要删除用户名/
socketID对。

socket.on('disconnect', function () {

// dont know the username??

    client.del(username, socket.id, function (err) {
        if (err)
            console.log(err);
        else {
            socket.disconnect();
            console.log(socket.id + " DISCONNECTED");
        }
    });
});

阅读 461

收藏
2020-06-20

共1个答案

小编典典

最简单的方法是存储
对。一个与username/id另一个id/username。因此,无论您拥有什么信息,都可以获取其他信息,因此也可以获取其他键/值对。

2020-06-20