Nucleic Photon Magnetizer

    promise-session

    0.1.4 • Public • Published

    Build Status Dependency Status

    Promise Session

    A session mananger for Nodejs that uses Redis as an underlying store and supports namespaced sessions.

    Installation

    npm install promise-session

    Usage

    Session = require('promise-session').create()

    Starting a session

    session = Session.start()

    Namespaced sessions

    Namespaced sessions use hashes to store key/value pairs which is a recommended way to store large numbers of keys in Redis.

    session = Session.start('namespace-here')

    Session ID

    Every session starts with a base64 unique ID that you can access with session.id

    Now we can work with session to store, retrieve and remove key/value pairs.

    Activity

    To tell whether a session is active you may check session.is_active

    Storing values

    Session.put('key', 'value')

    You may also store multiple key/value pairs:

    Session.put({
        key1: 'val1',
        key2: 'val2',
        key3: 'val3'
    });

    Verifying and retrieving values

    check = Session.has('key')
    check.then(function(exists){
        if (exists) {
            // yes we got it.
        } else {
            // nope.
        }
    });
     
    Session.get('key').then(function(value){
        // do things with value
    });

    Just like storing, you may verify or retrieve multiple values:

    Session.get(['key1', 'another-key', 'some-key']).then(function(values){
        // do things with the values
    });

    Removing values

    Session.remove('key')

    Destroying sessions

    session.destroy() will erase everything related to that session

    Configuration

    The values listed below are the defaults.

    Session = require('promise-session').create({
        session: {
            prefix: 'session'
        },
        redis: {
            host: '127.0.0.1',
            port: 6379
        }
    });

    Running Tests

    • Run a Redis instance (i.e. docker run -d -p 6379:6379 redis)
    • Perform any configuration required in test/config.coffee
    • npm run-script test

    Keywords

    Install

    npm i promise-session

    DownloadsWeekly Downloads

    2

    Version

    0.1.4

    License

    MIT

    Last publish

    Collaborators

    • vinelab-frontend