Tag: caching控制

我怎样才能使快车做校验和caching?

我知道maxAge伪指令的静态内容: app.use(express.static(__dirname + '/public', { maxAge: 86400000 })); 不过,我想build立一个系统,其中: 浏览器caching任何未更改的资源 浏览器获取已更改的最新版本的资源 我知道这通常是通过校验和来完成的,即: 将所有资源与校验和一起作为URL的一部分 。 旧的URL永远被caching,新的内容意味着新的URL。 我怎样才能expression这个呢?

Nodejs Azure Rediscaching永远挂起并读取ECONNRESET错误

我创build了一个新的Azure Rediscaching,需要将近5分钟才能完成创build。 我正在使用node-redis包,这是我的代码 var client = redis.createClient( process.env.REDIS_PORT || 6379, process.env.REDIS_HOST || '127.0.0.1' ); if(process.env.REDIS_HOST) { client.auth(process.env.REDIS_KEY); } 是的,这些环境variables是正确设置,它只是挂了一段时间,并提出一个错误:Redis连接到mycache.redis.cache.windows.net:6380失败 – 读ECONNRESET。 现在,当我使用redis-cli尝试连接redis-cli -h myhost -p 6380 -a the-auth-key它只是挂在命令行上,似乎没有连接build立,但也没有错误。 这只是无所事事。 如果我改变端口等,我得到连接错误。 所以我现在想知道我在做什么错了? 我在另外一个地区创build了另一个rediscaching(我花了最大的99.9 SLA等)。 不过,没有连接是可能的。 任何帮助,将不胜感激。

node.js的readFileSynccaching读取文件吗?

node.js的fs.readFileSynccaching文件是否被读取? 我不认为这是因为文档没有这样说,但我的代码是这样的行为.. 编辑 代码的相关部分 // after mainPath file is altered, it's not reflected until I restart node.js var scriptString = fs.readFileSync(mainPath); var app = vm.createScript(scriptString, mainPath); // Run the app app.runInContext(context);

nodejscaching与module.exports问题

我是nodejs的新手。 我有这个脚本: book.js var page = 0; exports.setPageCount = function (count) { page = count; } exports.getPageCount = function(){ return page; } 随着follownig脚本: scripts.js var bookA = require('./book'); var bookB = require('./book'); bookA.setPageCount(10); bookB.setPageCount(20); console.log("Book A Pages : " + bookA.getPageCount()); console.log("Book B Pages : " + bookB.getPageCount()); 我得到的输出: Book A Pages : 20 Book […]

如何从discord.js中获取消息数据?

Discord.js是Discord的一个API,允许开发人员为程序制作插件,不和谐。 这里是js的API代码链接, https://github.com/hydrabolt/discord.js/ 不协调被设置为像一个服务器,你在通道上连接和聊天,我的问题是如何从通道中获取消息数据。 他们所做的是设置JSONcaching中的所有通道,并在通道中,对象是具有消息对象的另一个caching(文档说明)。 但是,当我到达消息caching,我看到的是messages: Cache { limit: 1000 } } 。 如何从通道中提取所有消息对象?

在Node.js api中提供JSON响应时防止caching

我有一个移动应用程序将定期从Node.js服务器拉一个JSON文件。 JSON响应是用随机值dynamic生成的。 它不应该被caching。 我试图阻止caching: app.get('/important.json', function(req, res) { res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); res.setHeader("Pragma", "no-cache"); res.setHeader("Expires", 0); res.json(…); }); 但是,当移动应用程序重新加载JSON时,它仍然从服务器(从Fiddler观察)获得304 Not Modified响应。 有人可以build议反高速caching是否正确完成? 这是由于etag? 如果etag是问题,我可以专门为这个api /端点禁用etag吗?

Grunt – 如何更新js文件中使用gruntcaching胸围的HTML文件引用?

在我的js文件中,我引用了HTML文件,比如window.location。 我想gruntcaching破坏更新该引用并添加散列数据,所以加载的页面是正确的,使用正确的版本文件。 例如: window.location ='myweb.html'; > window.location ='myweb.html?575a2aa1158af941?575a2aa9658af941'; 我无法find任何configuration的caching半身像允许我在js文件中写入。 在我的Gruntfile.js中,我添加了必须写入的资产和scr文件,但没有成功。

为什么$ http.get返回304错误

我是新来的angular度和麻烦,总是工作的服务,直到它没有。 我的服务有以下电话。 this.getForms = function() { return $http.get("/forms"). then(function(response) { return response; }, function(response) { alert("Error finding forms."); }); }; 刷新页面(safari)getForms被触发时,调用$ http.get,我的Node.js / Express服务器窗体端点正确地返回表单数据。 app.get("/forms", function (req, res) { Form.find({}, function (err, docs) { if (err) { server.handleError(res, err.message, "Failed to get forms."); } else { res.status(200).json(docs); } }); }); 但是,而不是JSON我得到一个304错误,这表明数据在caching中可用。 但304响应头有一个空的数据string,所以它不会从caching中返回任何数据。 我的问题是 1)如果数据在caching中可用,为什么它调用我的服务器? 2)我怎么能告诉它不caching这个调用,所以页面可以正确更新表单?

在aws上的ETagcaching

我需要将由node restify支持的API Server迁移到使用AWS提供的API Gateway + lambda函数的东西。 API服务器(GET / POST简单的东西,不涉及数据库)作为代理服务器与CMS系统交谈,为客户端提取数据。 目前, etagcaching是通过调整中间件完成的。 我想知道我需要做什么才能在新的解决scheme(API网关+ lambda)中实现同样的目标? 一个侧面说明,我想到的是 – 保存从CMS的响应到S3 / CloudFront与启用ETagcaching机制,让他们确定是否可以使用浏览器上的caching响应。 我想知道这是否是一个好的做法? 谢谢

express.Router()并要求在Express.js中

我正在按照Express 4.x新的express.Router()方法来组织我的项目。 正如Express的文档所描述的那样, 路由器对象是中间件和路由的独立实例。 你可以把它看作是一个只能执行中间件和路由function的“小应用程序”。 为了更好的理解,我们来考虑一下这个项目结构: project/ index.js routes/ myRouter.js … … 和文件本身: index.js const express = require('express'); const app = express(); const path = require('path'); const myModule = require('myModule'); app.use('/myRouter', require('routes/myRouter')); // some more code using myModule set of functions 路线/ myRouter.js const express = require('express'); const path = require('path'); const router = express.Router(); […]