什么可以阻止Redis提供密钥内容(nodejs)?

时间:2016-04-19 15:42:20

标签: node.js redis

我在我的nodejs服务器中使用Redis,与浏览器html / js应用程序通信。在我无法识别的条件下,我的服务器卡住了。它不会抛出任何错误,保持活力和响应,但无法从Redis获取值。这是(简化版)与Redis建立连接的方式。

var Stash   = require('redis'),
    Sockjs  = require('sockjs')
stash = Stash.createClient(some_port,some_host);
sockjs = Sockjs.createServer(); 

var Instances = {
  get: function (id, cb) {
     stash.get('something_' + id, cb)
}

sockjs = Sockjs.createServer(); 
sockjs.on('connection', function(socket) {
  socket.on('data', function(data) {
    var id = somecorrectid;
    Instances.get(id, function(err, instance) { /*Here the magic happens*/ }
  }
}

现在,这在正常条件下完美运行。 当问题发生时,最后一个括号之间的代码不再被执行,无论我再次触发多少次触发代码片段的事件(即通过套接字发布的数据)以及来自哪个客户端。与此同时,Redis还活着,摇摆不定。 Redis-cli正在回应。密钥搜索' get'存在,形式正确。我的服务器仍然能够正确地将密钥写入Redis,但似乎无法再读取它们。这对我来说没有任何意义,很难调查或有更多的信息,因为我无法解决这个问题。任何线索?

0 个答案:

没有答案