node.js - session 存储在每个http请求上获取和设置?

标签 node.js session redis

我正在使用node.js https://github.com/visionmedia/connect-redis在redis中存储 session 变量。

我运行了redis-cli monitor并注意到在单个页面加载时,有3组getsetex命令被执行。这 3 个集合来 self 的页面加载时发出的 3 个 http 请求(favicon.ico/index.css)。

我的问题:redis getsetex 在每个 http 请求上运行是否正常?每对都包含相同的数据。

最佳答案

您看到的 3 个 HTTP 获取对于 Web 应用程序来说是正常的。

您可以在 favicon.ico 上设置很长的到期日期,以便浏览器仅请求一次。

对于静态资源(即CSS、JS、图像),您可以执行相同的操作或将它们放在不同的域(或子域)中

请注意,如果您在 CSS/JS 文件上设置了很长的过期日期,浏览器将不会再次请求它,并且您可能会遇到奇怪的“问题”,其中您对 CSS/JS 文件进行了更改,并且浏览器可能无法获取更新的文件。这是许多网站对其 CSS 文件(例如 styles-2013-02-17.css)进行“版本控制”的原因之一,以便在进行更改时可以使用不同的文件名。

关于node.js - session 存储在每个http请求上获取和设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14926711/

相关文章:

javascript - 如何在后台运行服务器上的 Typescript 文件?

Java Web, session 自动设置

c# - 打开/关闭 NHibernate session

java - Redis过期不起作用

javascript - JSON Stringify 忽略 Redis 发布上的嵌套对象

linux - 如何使用 Redis 中的值与结果一详细信息之间的比较?

javascript - 尝试访问js文件中的ejs数组

javascript - app.get 不适用于基本路线

node.js - Azure Web 应用程序为 vuejs 应用程序提供服务

session - 找不到模块 'connect',当尝试使用 require ('connect' 时。utils.parseCookie 与 nodejs