Javascript 如何启用免费Lambda/DynamoDB缓存

Javascript 如何启用免费Lambda/DynamoDB缓存,javascript,amazon-dynamodb,aws-api-gateway,serverless,Javascript,Amazon Dynamodb,Aws Api Gateway,Serverless,问题描述 我使用AWS Lambda创建了一个简单的REST API,并将数据保存在AWS DynamoDB中(全部使用无服务器框架)。后者定义为“按请求付款”。目前,API使用不多,但是当应用程序扩展时,它可能会导致显著的额外成本 我尝试过的 我得出的结论是有两种选择: 要么缓存DB值 或者缓存API网关响应 虽然是付费的,但我已经尝试了AWS DynamoDB DAX,但它是一种付费功能,我正在寻找一种替代方案(带有代码),以便在24小时内不太可能更改的GET请求时,最大限度地减少对数据库的

问题描述

我使用AWS Lambda创建了一个简单的REST API,并将数据保存在AWS DynamoDB中(全部使用无服务器框架)。后者定义为“按请求付款”。目前,API使用不多,但是当应用程序扩展时,它可能会导致显著的额外成本

我尝试过的

我得出的结论是有两种选择:

  • 要么缓存DB值
  • 或者缓存API网关响应
  • 虽然是付费的,但我已经尝试了AWS DynamoDB DAX,但它是一种付费功能,我正在寻找一种替代方案(带有代码),以便在24小时内不太可能更改的
    GET
    请求时,最大限度地减少对数据库的请求

    我还做了一些研究,发现在API网关中启用缓存是可能的,但我不确定什么是最好的/经济高效的方法。也许有人有一个实际的例子来解释如何实现这一点?

    我正在使用(在我的场景中是memcached)将所有点击缓存到数据库中。从代码的角度来看,扩展RESTAPI以检查缓存非常容易,如果没有,则转到数据库,将结果添加到缓存并返回

    这非常划算,而且很容易在lambda上实现

    另一种选择是在指定阶段启用缓存。 启用缓存时,必须选择缓存容量。一般来说,容量越大,性能越好,但成本也越高。默认情况下,只缓存GET方法

    我建议您检查您的用例,并根据当前负载选择最具成本效益的解决方案