您如何使用节点js中的redis会话设置heroku redis
我正在努力让heroku redis在Node.js上工作...我创建了一个具有注册登录并查看计划的基本应用程序。我所有的终点都是邮递员,当我点击登录路径时,我会收到一个cookie。如下图所示。在本地,我在邮递员中获取cookie,并在我的应用程序浏览器中获取。
enter image description here这是邮递员cookie的图像。
下面是我的开发代码的片段。
const express = require("express");
const session = require("express-session");
const redis = require("redis");
const client = redis.createClient();
const redisStore = require("connect-redis")(session);
const cors = require("cors");
const cookieParser = require("cookie-parser");
const authRouter = require("../Auth/authRouter");
const plansRouter = require("../Plans/plansRouter");
// const redis = require("redis");
// if (process.env.NODE_ENV == "production") {
// client = redis.createClient(process.env.REDIS_URL);
// } else {
// client = redis.createClient();
// }
const server = express();
server.use(
cors({
credentials: true,
origin: "http://localhost:3000"
})
);
server.use(express.json());
server.use(cookieParser("this is my secret"));
server.use(
session({
secret: "this is my secret",
name: "sequelize",
unset: "destroy",
rolling: true,
credentials: "include",
cookie: { secure: false },
store: new redisStore({
host: "localhost",
port: 6379,
client: client,
ttl: 86400
}),
saveUninitialized: false,
resave: false
})
);
server.use("/auth", authRouter);
server.use("/plans", plansRouter);
console.log(client);
client.on("connect", () => {
console.log(`\n ** Redis client connected ** \n`);
});
client.on("error", function(err) {
console.log("Something went wrong " + err);
});
module.exports = server;
回答如下:您应将其应用于heroku设置->配置变量->添加REDIS_URL。并且,最好在heroku附加组件中找到并应用redis cloud。
您如何使用节点js中的redis会话设置heroku redis
我正在努力让heroku redis在Node.js上工作...我创建了一个具有注册登录并查看计划的基本应用程序。我所有的终点都是邮递员,当我点击登录路径时,我会收到一个cookie。如下图所示。在本地,我在邮递员中获取cookie,并在我的应用程序浏览器中获取。
enter image description here这是邮递员cookie的图像。
下面是我的开发代码的片段。
const express = require("express");
const session = require("express-session");
const redis = require("redis");
const client = redis.createClient();
const redisStore = require("connect-redis")(session);
const cors = require("cors");
const cookieParser = require("cookie-parser");
const authRouter = require("../Auth/authRouter");
const plansRouter = require("../Plans/plansRouter");
// const redis = require("redis");
// if (process.env.NODE_ENV == "production") {
// client = redis.createClient(process.env.REDIS_URL);
// } else {
// client = redis.createClient();
// }
const server = express();
server.use(
cors({
credentials: true,
origin: "http://localhost:3000"
})
);
server.use(express.json());
server.use(cookieParser("this is my secret"));
server.use(
session({
secret: "this is my secret",
name: "sequelize",
unset: "destroy",
rolling: true,
credentials: "include",
cookie: { secure: false },
store: new redisStore({
host: "localhost",
port: 6379,
client: client,
ttl: 86400
}),
saveUninitialized: false,
resave: false
})
);
server.use("/auth", authRouter);
server.use("/plans", plansRouter);
console.log(client);
client.on("connect", () => {
console.log(`\n ** Redis client connected ** \n`);
});
client.on("error", function(err) {
console.log("Something went wrong " + err);
});
module.exports = server;
回答如下:您应将其应用于heroku设置->配置变量->添加REDIS_URL。并且,最好在heroku附加组件中找到并应用redis cloud。
与本文相关的文章
评论列表 (0)
- 暂无评论