RestBase-wiki如何处理缓存
在安装了using standard config之后,我有了一个summary API的工作版本 问题是缓存机制对我来说似乎很奇怪。 这段代码将决定是否查看表缓存以获得快速响应。但我不能让它成为一个服务器缓存,例如,在写入缓存时,它依赖于某个时间约束最大年龄。这意味着是否使用缓存完全取决于客户端 有人能解释一下RestBase缓存机制的工作流程吗RestBase-wiki如何处理缓存,rest,api,wikipedia-api,Rest,Api,Wikipedia Api,在安装了using standard config之后,我有了一个summary API的工作版本 问题是缓存机制对我来说似乎很奇怪。 这段代码将决定是否查看表缓存以获得快速响应。但我不能让它成为一个服务器缓存,例如,在写入缓存时,它依赖于某个时间约束最大年龄。这意味着是否使用缓存完全取决于客户端 有人能解释一下RestBase缓存机制的工作流程吗 // Inside key.value.js getRevision(hyper, req) { //This one get the he
// Inside key.value.js
getRevision(hyper, req) {
//This one get the header from client request and decide to use cache
or not depend on the value. Does it mean server caching is non-existent?
if (mwUtil.isNoCacheRequest(req)) {
throw new HTTPError({ status: 404 });
}
//If should use cache, below run
const rp = req.params;
const storeReq = {
uri: new URI([rp.domain, 'sys', 'table', rp.bucket, '']),
body: {
table: rp.bucket,
attributes: {
key: rp.key
},
limit: 1
}
};
return hyper.get(storeReq).then(returnRevision(req));
}
缓存失效由执行,在页面编辑和类似事件时触发。缓存控制头可能在VCL逻辑中设置。请参阅完整的Wikimedia基础架构图-它已经过时,但为您提供了如何将事物连接在一起的一般概念。Mz Wikimedia安装是一个遵循标准指南的小型安装,我不认为他们使用Kafka进行更改传播服务。这是否意味着RESTBase没有内置的缓存失效,而是依赖于其他基础结构?好吧,失效总是依赖于其他基础结构,因为RESTBase本身无法知道何时失效。如果你指的是过期,我相信它可以通过中间件进行配置,但默认行为取决于Wikimedia如何使用它,因为它主要是作为一个内部工具。