Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Express Session with Redis

This repository contains sample code on how to use Redis for a cookie-based session implementation with Redis and the Node.js express framework.

Please help this repo with a ⭐️ if you find it useful! 😁

This repository is part of the Sessions in express.js tutorial series on YouTube provided by

Express sessions with redis

For updates, please reach out to @productioncoder on Twitter.

Session implementation with express.js and express-session

This repository illustrates how to create a session-based authentication system in Express.js and what configurations you need to perform for you server to also accept cookies from cross origins - a scenario that is typical for Single Page Applications (SPAs) written in modern frameworks such as React or Vue.

Running this project

1. Installing Redis

Make sure that you have Redis running locally on your machine on its default port 6379.

This project assumes that your Redis instance does not require a password (which is the default).

If your local Redis requires a password, please update the db/redis.js file to include the password field:

const redisClient = redis.createClient({
    port: 6379,
    host: 'localhost',
    password: 'your-password'

If you are on macOS, the easiest way to start up a Redis instance is by using Homebrew

brew install redis
brew services start redis

To stop Redis, you can run

brew services  stop redis

2. Install dependencies


npm install

to install the project's dependencies.

3. Start server

Execute the dev script to start up your server.

npm run dev