首页 > 解决方案 > Nodejs Redis hdel 不会删除密钥

问题描述

我真的被难住了,希望有人能帮忙。

我有一个非常基本的 redis 应用程序,它使用 hset 和一个键。当我去删除密钥时

myRedis.hdel(房间,mysocket,功能(错误,响应){

        })

它将从响应中返回 1,告诉我它已将其删除。看着它,虽然钥匙还在吗?

奇怪的是,当我明确放置 id 时,它会起作用,所以如果我做类似的事情

myRedis.hdel(room,"key",function(err,response){

        })

它删除了它,但是通过变量执行它是不行的。知道会发生什么吗?我试过用引号等包裹它,但仍然没有骰子。

标签: node.jsredis

解决方案


所以看起来redis对键名有点挑剔。我使用从 socket.io 随机生成的 socket.id 作为键。一旦我将“socket-”附加到redis中每个键的前面,它就开始工作了..

不确定这是否记录在任何地方,但似乎解决了我的问题。


推荐阅读