我正在为无服务器环境 (aws) 编写一个基于 go 的应用程序。我对编写应用级代码还很陌生,而且我有基础架构背景。
我知道缓存不是持久性的,但我真的需要关心真正无服务器环境中的持久性吗?从需求的角度来看,简单的 dynamodb 表可以满足我的存储需求,但缓存会给我更好的性能,对吧?我需要性能,这是我为应用程序使用 go 的一个重要原因。
最佳答案
您可以选择 AWS ElastiCache(redis 或 memcache),但这并不是真正的无服务器,因此可能不是一个选择。
AWS Lambda 允许您在 /tmp
目录中写入,您可以在内存中缓存一些内容。不过,我不推荐该选项。 Lambda 并不总是在同一个实例中运行,因此您无法保证下次调用 Lambda 时您会在 /tmp
目录中找到一些东西。
看看Amazon DynamoDb Accelerator (DAX)在 DynamoDB 之前提供高可用性缓存。
关于amazon-web-services - 您如何在无服务器架构中平衡 nosql 存储和缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49847287/