You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -139,13 +139,13 @@ You **can** use a single DynamoDB table for all functions annotated with Idempot
139
139
140
140
***Old boto3 versions can increase costs**. For cost optimization, we use a conditional `PutItem` to always lock a new idempotency record. If locking fails, it means we already have an idempotency record saving us an additional `GetItem` call. However, this is only supported in boto3 `1.26.194` and higher _([June 30th 2023](https://aws.amazon.com/about-aws/whats-new/2023/06/amazon-dynamodb-cost-failed-conditional-writes/){target="_blank"})_.
141
141
142
-
#### Redis database
142
+
#### Cache database
143
143
144
-
We recommend you start with a Redis compatible management services such as [Amazon ElastiCache for Redis](https://aws.amazon.com/elasticache/redis/){target="_blank"} or [Amazon MemoryDB for Redis](https://aws.amazon.com/memorydb/){target="_blank"}.
144
+
We recommend starting with a managed cache service, such as [Amazon ElastiCache for Valkey and for Redis OSS](https://aws.amazon.com/elasticache/redis/){target="_blank"} or [Amazon MemoryDB](https://aws.amazon.com/memorydb/){target="_blank"}.
145
145
146
146
In both services, you'll need to configure [VPC access](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html){target="_blank"} to your AWS Lambda.
147
147
148
-
##### Redis IaC examples
148
+
##### Cache configuration
149
149
150
150
=== "AWS CloudFormation example"
151
151
@@ -160,7 +160,7 @@ In both services, you'll need to configure [VPC access](https://docs.aws.amazon.
160
160
1. Replace the Security Group ID and Subnet ID to match your VPC settings.
161
161
2. Replace the Security Group ID and Subnet ID to match your VPC settings.
162
162
163
-
Once setup, you can find a quick start and advanced examples for Redis in [the persistent layers section](#redispersistencelayer).
163
+
Once setup, you can find a quick start and advanced examples for Cache in [the persistent layers section](#cachepersistencelayer).
164
164
165
165
<!-- markdownlint-enable MD013 -->
166
166
@@ -464,17 +464,22 @@ You can customize the attribute names during initialization:
464
464
|**sort_key_attr**||| Sort key of the table (if table is configured with a sort key). |
465
465
|**static_pk_value**||`idempotency#{LAMBDA_FUNCTION_NAME}`| Static value to use as the partition key. Only used when **sort_key_attr** is set. |
466
466
467
-
#### RedisPersistenceLayer
467
+
#### CachePersistenceLayer
468
468
469
-
!!! info "We recommend Redis version 7 or higher for optimal performance."
469
+
The `CachePersistenceLayer` enables you to use Valkey, Redis OSS, or any Redis-compatible cache as the persistence layer for idempotency state.
470
470
471
-
For simple setups, initialize `RedisCachePersistenceLayer` with your Redis endpoint and port to connect.
471
+
We recommend using [`valkey-glide`](https://pypi.org/project/valkey-glide/){target="_blank"} for Valkey or [`redis`](https://pypi.org/project/redis/){target="_blank"} for Redis. However, any Redis OSS-compatible client should work.
472
472
473
-
For security, we enforce SSL connections by default; to disable it, set `ssl=False`.
473
+
For simple setups, initialize `CachePersistenceLayer` with your Cache endpoint and port to connect. Note that for security, we enforce SSL connections by default; to disable it, set `ssl=False`.
We recommend using AWS Secrets Manager to store and rotate certificates safely, and the [Parameters feature](./parameters.md){target="_blank"} to fetch and cache optimally.
494
499
495
-
For advanced configurations, we recommend using an existing Redis client for optimal compatibility like SSL certificates and timeout.
500
+
For advanced configurations, we recommend using an existing Valkey client for optimal compatibility like SSL certificates and timeout.
0 commit comments