با سلام مطابق ویدیو پکیج های 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
در صورت امکان راهنمایی بفرمایید.
باتشکر
redis رو از کجا دانلود کردین؟ الان چه نسخه ای از redis رو نصب دارین؟
نسخه 2.4.6.0 هستش.تا جایی که یادمه از گردو نصب کردم پارسال روی ویندوز7 بیت64
استاد ورژن قدیمی رو پاک کردم جدید نصب کردم error رفع شد.متشکرم