Skip to content

Instantly share code, notes, and snippets.

@pixeldrew
Created February 17, 2012 20:10
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save pixeldrew/1855179 to your computer and use it in GitHub Desktop.
Save pixeldrew/1855179 to your computer and use it in GitHub Desktop.
Using require.js with node.js, express and redis store for session management
var requirejs = require('requirejs');
requirejs.config({
nodeRequire: require
});
requirejs(['express', 'connect', 'connect-redis'], function(express, connect, ConnectRedis) {
var app = express.createServer();
var RedisStore = new ConnectRedis(express);
var sessionStore = new RedisStore();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.static(__dirname + '/public'));
app.use(express.cookieParser({maxAge: app.settings.cookieMaxAge}));
app.use(express.session({ store: sessionStore , secret: "your mother wears army boots", key: 'express.sid'}));
app.use(app.router);
});
// Setup Routes
app.get('/', function(req, res){
if(req.query.add != undefined)
req.session.counter = (req.session.counter)? req.session.counter + 1 : 0;
res.render('index', {'title': "testing redis session counter", 'counter' : req.session.counter});
});
var port = process.env.PORT || 3002;
app.listen(port);
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment