Skip to content

stilia/connect-mysql-session-sequelize-fix

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

connect-mysql-session

A MySQL session store for the connectjs session middleware for node.js.

Currently, this code appears to function correctly but it has not been optimized for performance. The store is implemented using sequelize ORM, simply dumping the JSON-serialized session into a MySQL TEXT column.

Installation

Using npm:

npm install -g connect-mysql-session

By cloning the repo:

git clone git://github.com/CarnegieLearning/connect-mysql-session.git
cd connect-mysql-session
npm link

(Note: in both cases you may need to use sudo when performing the npm step.)

Usage

The following example uses expressjs, but this should work fine using connectjs without the expressjs web app layer.

var express = require('express'),
    MySQLSessionStore = require('connect-mysql-session')(express);

var app = express.createServer();
app.use(express.cookieParser());
app.use(express.session({
    store: new MySQLSessionStore({
        database: "dbname",
        user: "user",
        password: "password"
        --OR--
        sequelize: "sequelize object"

        memcached: "memcached object",

        // options...
    }),
    secret: "keyboard cat"
}));
...

Options

sequelize

If set, will use it.

memcached

If set, will use memcached interface. Memcached object is expected to have .get .set and .del methods.

table

Default: Session. Table name for Sessions data.

forceSync

Default: false. If set to true, the Sessions table will be dropped before being reinitialized, effectively clearing all session data.

checkExpirationInterval

Default: 1000*60*10 (10 minutes). How frequently the session store checks for and clears expired sessions.

defaultExpiration

Default: 1000*60*60*24 (1 day). How long session data is stored for "user session" cookies -- i.e. sessions that only last as long as the user keeps their browser open, which are created by doing req.session.maxAge = null.

Changes

0.1.1 and 0.1.2 (2011-08-03)

  • Lazy initialization to ensure model is ready before accessing.
  • Index the sid column.

0.1.0 (2011-07-19)

  • Initial version.

About

A MySQL session store for node.js connect.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%