我正在使用node.js https://github.com/visionmedia/connect-redis在redis中存储 session 变量。
我运行了redis-cli monitor
并注意到在单个页面加载时,有3组get
和setex
命令被执行。这 3 个集合来 self 的页面加载时发出的 3 个 http 请求(favicon.ico
、/
和 index.css
)。
我的问题:redis get
和 setex
在每个 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/