import DI, {DDNames} from "@gongt/ts-stl-library/DI"; import * as expressSession from "express-session"; const connectMemcached = require("connect-memcached"); export function initMemcachedSession(memcacheHosts: string[], prependKey?: string) { const MemcachedStore = connectMemcached(expressSession); const cookieSignedKey = DI.get(DDNames.cookieSignKey); DI.set(DDNames.sessionHandler, expressSession({ secret: cookieSignedKey, resave: false, saveUninitialized: false, store: new MemcachedStore({ hosts: memcacheHosts, prefix: prependKey, ttl: 24 * 3600, // time period in seconds reconnect: 5000, // in ms retries: 3, }), })); }