Я сохраняю имя пользователя/пары SocketID в redis store для моего приложения chat.io chat.io.Как получить ключ от значения в паре ключей/значений в клиенте redis store?
Когда пользователь отключается, мне нужно удалить пару имени пользователя/socketID из магазина redis. Я видел, как получить значение из ключа, но никогда не ключ от значения. Является ли это возможным? или в любом случае, как я могу удалить пару ключ/значение только из значения. Вот мой код
Для добавления хранить на подключениях
socket.on('username', function (username) {
client.set(username, socket.id, function (err) {
console.log(username + ":" + socket.id);
});
});
Для отключения, клиент не будет знать, когда разрыв произойдет, может произойти из-за потери подключения к Интернету, но когда сокет разрывает это всегда ударяет «отключить» событие. В этом случае мне нужно удалить пару username/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");
}
});
});
Спасибо, я сделал это решение. Но я надеялся, что будет более прямое решение этой проблемы. – Bitsian
Если у вас есть индекс (ключ) и данные (значение). Вы не можете искать данные без индекса. Или вы делаете «сканирование таблицы». Такова природа индекса/данных. – heinob