با سلام مطابق ویدیو پکیجهای redisوconnect-redis رو با npm نصب کردم و همچنین خود redis برای ویندوز رو دانلود کردم که این پکیج بصورت service ویندوز فعال اتوماتیک است.
فایل redis.js را داخل پوشه session-handlers ایجاد کردم:
const redis = require('redis');
module.exports = session =>{
let RedisStore = require('connect-redis')(session);
let redisClient = redis.createClient();
return new RedisStore({ client: redisClient });
};
فایل index.js رو هم مطابق آموزش ویدیویی بصورت زیر نوشتم:
const express = require('express');
const hbs = require('express-handlebars');
const path = require('path');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const session = require('express-session');
const flash = require('connect-flash');
// const sessionStore = require('./session-handlers/mysql')(session);
const sessionStore = require('./session-handlers/redis')(session);
module.exports = app => {
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended : false}));
app.use(cookieParser());
app.use(
session({
store: sessionStore,
secret: "asdartfhjhihknm67ngdfdd",
resave: true,
saveUninitialized: true,
cookie: { maxAge: 60000 }})
);
app.use(flash());
app.engine('handlebars', hbs());
app.set('view engine' , 'handlebars');
app.set('views' , path.join(__dirname , '../views'));
app.use('/static' , express.static(path.join(__dirname , '../../public')));
};
اما وقتی میخوام با ایمیل و پسوردی که role ادمین داره login کنم با خطای زیر مواجه میشم:
ReplyError: ERR wrong number of arguments for 'set' command at parseError
در صورت امکان راهنمایی بفرمایید.
باتشکر