How can i keep alive ttl in redis?

Viewed 17

Currently, I'm using redis for mutiple website ( A and B ) . A website is php website and B website is node.js website (mine). I'm trying to get redis information from A website to B website. However, when a user login to A website and switch to B website then B website is able to get A website user's information, but as soon as B website gets redis information, redis TTl become 2, so in 2seconds the user information is expired. However, when a user trying to do same thing like login B website and switch A website. then the session is not expired.

I tried to change ttl time and change another setting, what i did was not working. I'd like to know what is able to trigger this issue.

this is setting for redis B website (node.js)

import express from "express";
import path from "path";

import mongoose from "mongoose";
import cors from "cors";

import session from "express-session";



import redisConnect from "connect-redis";
import { createClient } from "redis";
import cookieParser from "cookie-parser";
import user_routes from "./routes/user_routes.js";
import user_charts_routes from "./routes/user_charts_routes.js";
import code_visual_routes from "./routes/code_visual_routes.js";
import db_routes from "./routes/db_routes.js";
import assets_routes from "./routes/assets_routes.js";

import { redis_env, sso_env } from "./Data/env_export.js";


const {
  redis_url,
  redis_password,
  redis_domain,
  redis_prefix,
  redis_session_name,
  redis_session_secret,
} = redis_env;

const { sso_client_redirect } = sso_env;

let RedisStore = redisConnect(session);

let redisClient = createClient({
  legacyMode: true,
  url: redis_url,
  password: redis_password,
});
redisClient.connect().catch(console.error);



const session_info = {

  store: new RedisStore({
    client: redisClient,
    prefix: redis_prefix,
    ttl: 3600 * 3,
  }),
  name: redis_session_name,
  secret: redis_session_secret,
  resave: true,
  saveUninitialized: false,
  cookie: {
    path: "/",
    httpOnly: true,
    secure: false,
    domain: redis_domain,
    maxAge: 12 * 60 * 60 * 1000, 
    sameSite: "lax",
  },
};
const corsOption = {
  credentials: true,
  origin: sso_client_redirect,
};

const PORT = process.env.PORT || 5000;

var app = express();

app.use(cookieParser());
app.use(cors(corsOption));
app.use(express.urlencoded({ limit: "50mb", extended: true }));
app.use(express.json({ limit: "50mb" }));
app.use(session(session_info));

0 Answers
Related