我使用带有https://github.com/visionmedia/connect-redis的node.js将会话变量存储在redis中。
我运行redis-cli monitor
并注意到在单页加载时,有3组get
和setex
命令正在执行。这3套来自我的网页加载(favicon.ico
,/
和index.css
)上发出的3个http请求。
我的问题:redis get
和setex
在每个http请求上运行是否正常?每对包含相同的数据。
答案 0 :(得分:2)
您看到的3 HTTP获取对于Web应用程序是正常的。
您可以在favicon.ico上设置很长的截止日期,以便浏览器只请求一次。
对于静态资源(即CSS,JS,图像),您可以执行相同操作或将它们放在不同的域(或子域)中
请注意,如果您在CSS / JS文件上放置了很长的过期日期,浏览器将不会再次请求它,您可能会遇到奇怪的“问题”,其中您对CSS / JS文件进行了更改并且浏览器可能无法获取更新的文件。这是许多网站“版本化”他们的CSS文件(例如styles-2013-02-17.css)的原因之一,这样他们可以在进行更改时使用不同的文件名。