Reputation: 825
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
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
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
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