express+node.js+redisでセッション管理

express on node.js

expressは初期状態だとサーバーを再起動するとセッションが切れてしまいます。
セッションを維持するためにredisを利用します。

redisのインストール

rpmからインストールしました。

wget ftp://ftp.pbone.net/mirror/centos.karan.org/el5/misc/testing/i386/RPMS/redis-2.0.0-rc4.el5.kb.1.i386.rpm
rpm -ivh redis-2.0.0-rc4.el5.kb.1.i386.rpm
chkconfig –level 3 redis on
/etc/init.d/redis start

expressにredisを設定する

これはすごい簡単です。

/***********************************************************
 * Module dependencies.
 ***********************************************************/

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

var app = module.exports = express.createServer();
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({
  secret: "keyboard cat",
  store: new RedisStore(), 
}));

これでサーバーを再起動してもセッションが維持されるようになったと思います。

関連ページ