iPhoneJavaDev
iPhoneJavaDev

Reputation: 825

connect-redis setup in typescript

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);

Upvotes: 6

Views: 10087

Answers (3)

Hitesh Meta
Hitesh Meta

Reputation: 473

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
  }
}));

Upvotes: 1

iPhoneJavaDev
iPhoneJavaDev

Reputation: 825

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")}),...
}));

Upvotes: 11

David Dehghan
David Dehghan

Reputation: 24775

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
        })
    );

Upvotes: 6

Related Questions