amazon-web-services - DynamoDB 与 Lambda 在插入时更新 Redis 缓存

标签 amazon-web-services amazon-dynamodb aws-lambda

我有一个 DynamoDB 表,我在其中启用了 Dynamo Stream。 我希望我的应用程序能够在被询问时响应前 100 个事件(按日期)。

为此,我考虑编写一个 Lambda 函数,每当新数据流式传输时都会执行该函数,并使用新事件更新 Redis 缓存(如果是)确实是一个事件)。

Lambda 代码:

  1. 从缓存中读取当前前 100 个事件。
  2. 将新事件推送到数组的开头。
  3. 从数组中分割前 100 个事件。
  4. 更新缓存。

让我担心的一件事是,当使用不同的流记录执行上述 Lambda 函数的 1 个以上实例时,会出现竞争条件。

我找不到有关 Dynamo Streams 工作原理的更多信息,因此我什至不确定是否会发生上述情况,这就是我向您询问的原因。

最佳答案

你的问题可以通过定义你的redis操作来解决。

Redis 是单线程的,您可以在单个 Redis 事务中定义完整的缓存更新操作。

关于amazon-web-services - DynamoDB 与 Lambda 在插入时更新 Redis 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37897086/

相关文章:

amazon-web-services - Elastic Beanstalk 不创建 ssl.conf

amazon-web-services - Terraform Remote-Exec 配置程序超时

java - Java 中的 AWS DynamoDbMapper FilterExpression 分页

mysql - 什么是一个好的 AWS 解决方案(DB、ETL、Batch Job)来存储大量历史交易数据(每日刷新)以进行机器学习分析?

amazon-web-services - 尝试使用 KMS 在 Lambda 函数中解密密文会导致超时

amazon-web-services - AWS 中的 UDP/TCP 服务器

java - com.amazonaws.AmazonClientException : Unable to complete transfer: Connection pool shut down

python - AWS Elastic Beanstalk - 脚本在返回 header : application. py 之前超时

amazon-dynamodb - 如何使用无服务器框架为多个环境配置 DynamoDB ProvisionedThroughput

amazon-web-services - 如何在cloudformation上配置 `TracingConfig`?