Express redis会话存储在新机器上停止工作

时间:2012-12-01 20:48:05

标签: node.js session express redis

我安装了redis,并且可以连接到它,但是会话不会持续存在且没有任何显示。我没有更改任何代码,除了升级到节点0.8.15而不是0.8.6

  var RedisStore = require('connect-redis')(express);

  app.use(express.session({
    store: new RedisStore({
      host: cfg.redis.host,
      db: cfg.redis.db
    }),
    secret: 'meow'
  }));


//after login:
      req.session.userid = user._id;

我不得不重新安装redis,我很确定我在debian上没有正确安装。该代码在另一台服务器上运行正常。我可以运行redis-cli并连接到db,但是没有密钥。我启用了调试功能,但看不到任何明显的功能。

1 个答案:

答案 0 :(得分:2)

我使用的是debian版本的redis,这是行不通的。我必须完全安装2.6.6,特别是运行./utils/install_server.sh

顺便提一下,他们的脚本存在错误:

sudo update-rc.d -f mongodb defaults
update-rc.d: using dependency based boot sequencing
insserv: warning: script 'K01redis_6379' missing LSB tags and overrides
insserv: warning: script 'redis_6379' missing LSB tags and overrides

您需要将以下代码添加到/etc/init.d/redis_6379的顶部

# chkconfig: - 58 74
# description: redis_6379 is the redis daemon.
### BEGIN INIT INFO
# Provides: redis_6379
# Required-Start:    $network $remote_fs $local_fs 
# Required-Stop:     $network $remote_fs $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: start and stop redis_6379
# Description: Redis daemon
### END INIT INFO

我在此处提交了一个错误:https://github.com/antirez/redis/issues/804