首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >请求清除缓存服务器缓存

问请求清除缓存服务器缓存
EN

Stack Overflow用户
提问于 2020-06-04 01:17:05
回答 1查看 182关注 0票数 0

我正在使用Flutter创建一个字符猜测游戏移动应用程序,并使用Node.js & Express.js作为后端。移动应用程序应该调用接口从MongoDB数据库中获取所有字符的类别,该接口将它们返回给移动应用程序(并在此过程中缓存它们1天),移动应用程序将这些类别和它们的数据保存在一个数组中,然后再次调用该接口从数据库中获取一个随机字符。

该接口的代码如下:

代码语言:javascript
复制
const express = require('express');

const app = express();

// Get All Categories
app.get('/categories/all', async (request, response) => {
  response.set('Cache-Control', 'public, max-age=86400, s-maxage=86400'); // 86,400 Seconds = 1 Day
  response.send(await mongodbDriver.getAllCategories());
});

// Get One Character Randomly
app.get('/characters/one/random', async (request, response) => {
  response.send(await mongodbDriver.getRandomCharacter());
});

缓存架构应该类似于链接中的图像:

https://i.ibb.co/S3wYkhd/Caching-Server-Architecture.jpg

如果有一天我添加了一个新类别,将字符添加到该类别中,API返回了一个包含该新类别的随机字符,但移动应用程序没有关于它的数据,因为当它获取所有类别时,缓存服务器会使用它们的旧版本进行响应,并且该字符的新类别不在获取的类别中。

当这种情况发生时,我希望移动应用程序通过将请求发送到Node.js接口并调用缓存清除方法,或者通过直接将请求发送到缓存服务器,来从缓存服务器发送清除缓存的请求。这样的事情有可能发生吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-05 13:13:02

我找到了一个变通的方法。如果我担心我可以得到一个旧版本的categories数组,该数组不包括新添加的类别,并且我查询一个随机字符,并且该字符与该数组中缺少的新类别一起返回。我应该向API发出第三个请求,通过ID获取类别,然后将其添加到数组中。这样问题就解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62178772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档