Node/Express 应用查询第 3 方 API 并将响应存储在 memcache/redis 中 30 分钟以供将来查询

Node/Express app to query a 3rd party API and store response in memcache/redis for 30 mins for future queries

这里是关于应用程序结构的一般查询。基本上我有一个 SPA,旨在显示来自第 3 方的赔率 API。

为了减少 API 的工作量,我想构建一个 node/express 中间件,以便查询首先检查 memcache/redis 缓存,如果缓存,同样值,return 数据,如果未缓存,则点击 API 和 return 响应,同时添加到缓存以供将来查询 X 的时间限制。(不确定我是否' d 需要像 mongodb 这样的实际数据库来使用缓存)

这里我想实现的关键部分是缓存,因为我想避免 API 在数据相同时必须响应,因此缓存。

我想我的问题是上面的场景是否有意义,或者我是否在开始之前就把它复杂化了?

对任何错误表示歉意,后端和缓存对我来说是个新手。

提前致谢

想法是首先检查数据是否在缓存中,如果不在缓存中,则从 API 中获取并写入缓存。

这是 redisrequest

的示例实现
function getThirdParty(req,res){

    //unique identifier for the cache 
    const redisKey = req.body.key 

    //check the result is in cache
    client.getAsync(redisKey).then(function(result) {
       if(result){ 
           res.json({
               result:result,
               cache:true
           })
     }else{
        //not in cache made the api request 
        request('http://www.thirdpartyapi.com', function (error, response, body) {
        //set the api  result in cache   
        client.set(redisKey,body);

            res.json({
                result:body,
                cache:false
            })
     });
    }
 });
 }