6

Based on docs, this is how to create a redisstore:

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

app.use(session({
    store: new RedisStore(options),...
}));

I am converting them to typescript:

import * as session from 'express-session';
import * as RedisStore from 'connect-redis';

app.use(session({
    store: new (RedisStore(session))(options),...
}));

However, I am getting an error. How do you convert this line of code: var RedisStore = require('connect-redis')(session);

3 Answers 3

11

I have figured it out:

import * as session from 'express-session';
import * as connectRedis from 'connect-redis';
let RedisStore = connectRedis(session);

app.use(session({
    store: new RedisStore({client: redis.createClient(6379, "localhost")}),...
}));
Sign up to request clarification or add additional context in comments.

Comments

6

This works:

import connectRedis from 'connect-redis';
import session from 'express-session';
const RedisStore = connectRedis(session);

 app.use(
        session({
            secret: 'secret',
            store: new RedisStore({host: '127.0.0.1', port: 6379}),
            resave: false,
            saveUninitialized: false
        })
    );

Comments

1

Basic Redis Setup

import statements

const express = require('express');
const session = required('express-session');
const redis = require('redis');
const connectRedis = require('connect-redis');

const app = express();
app.use(express.json())

connect to redis store

const RedisStore = connectRedis(session);

//config redis 
const redisClient = redis.createClient({
  port: 6379,
  host: 'localhost'
});

configure session middleware

app.use(session({
  store: new RedisStore({client: redisClient}),
  secret: 'mySecret',
  saveUninitialized: false,
  resave: false,
  name:'sessionId',
  cookie: {
    secure: false,
    httpOnly: true,
    maxAge: 1000 * 60 * 30
  }
}));

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.