2

我正在使用带有https://github.com/visionmedia/connect-redis的 node.js 将会话变量存储在 redis 中。

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

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

4

1 回答 1

2

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

您可以在 favicon.ico 上设置一个非常长的过期日期,以便浏览器只请求一次。

对于静态资产(即 CSS、JS、图像),您可以这样做或将它们放在不同的域(或子域)中

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

于 2013-02-17T22:35:25.157 回答