Preserving Shopping Cart Data with ElastiCache Redis

SAA-C03 By islever Editorial Last updated

Short answer

B Configure Amazon ElastiCache for Redis to cache catalog data from Amazon DynamoDB and shopping cart data from the user's session.

Question

A company is building a shopping application on AWS. The application offers a catalog that changes once each month and needs to scale with traffic volume. The company wants the lowest possible latency from the application. Data from each user's shopping cart needs to be highly available. User session data must be available even if the user is disconnected and reconnects. What should a solutions architect do to ensure that the shopping cart data is preserved at all times?
  1. Configure an Application Load Balancer to enable the sticky sessions feature (session affinity) for access to the catalog in Amazon Aurora.
  2. Configure Amazon ElastiCache for Redis to cache catalog data from Amazon DynamoDB and shopping cart data from the user's session. Correct Answer
  3. Configure Amazon OpenSearch Service to cache catalog data from Amazon DynamoDB and shopping cart data from the user's session.
  4. Configure an Amazon EC2 instance with Amazon Elastic Block Store (Amazon EBS) storage for the catalog and shopping cart. Configure automated snapshots.

Key Takeaways

The question tests knowledge of session state management; the common trap is assuming sticky sessions or persistent disk storage provide the necessary scalability and fault tolerance.

Amazon ElastiCache for Redis is the optimal solution for preserving shopping cart data and user sessions in a scalable AWS application. This page explains why managed in-memory caching meets high availability and low latency requirements better than other options.

Common mistake: Learners often choose Application Load Balancer sticky sessions (Option A), failing to realize that sticky sessions tie users to specific instances, which breaks if the instance fails or scales out, thus losing cart data.

Expert Analysis

Why the Answer Is Correct

Option B is correct because Amazon ElastiCache for Redis provides a managed, highly available, in-memory data store. It allows the application to cache shopping cart data and user sessions centrally, ensuring that data persists even if a user disconnects and reconnects to a different backend server. This architecture supports low-latency access and scales independently of the compute layer.

Why the Other Options Are Wrong

Option A relies on sticky sessions, which are not durable across instance failures or scaling events, violating the requirement for data preservation. Option C uses OpenSearch, which is designed for search and analytics, not low-latency session state management. Option D uses EC2 with EBS, which introduces single points of failure and does not scale elastically without complex shared storage configurations.

Community Comment Notes

The community overwhelmingly selected B, recognizing that ElastiCache is the standard pattern for distributed session management. As Tanidanindo noted, ElastiCache is 'well-suited for managing session data in a distributed architecture.' Another commenter emphasized that session data must remain available upon reconnection, pointing directly to an external cache like Redis.

Exam Strategy

When a question mentions 'user session data' or 'shopping cart' requiring persistence across connections, immediately consider ElastiCache for Redis as the primary candidate for stateless backend architectures.

Frequently Asked Questions

Why can't I use ALB Sticky Sessions for the cart?

Sticky sessions bind users to specific EC2 instances. If the instance fails or scales out, the session/cart data is lost, violating the persistence requirement.

Is OpenSearch suitable for shopping carts?

No. OpenSearch is for search and log analytics. It lacks the low-latency, high-throughput key-value features required for real-time session state management.

More SAA-C03 FAQ →

Community Votes

B
100%

100% of anonymous learners picked answer B. Votes are pick records left by other test-takers — they are not the verified answer.

Discussion 6 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 6

  1. Tanidanindo 👍 5 Answered B
    • ElastiCache is a managed in-memory data store service that is well-suited for managing session data in a distributed architecture.
  2. 1Alpha1 👍 3 Answered B
    B: ELB <--> ASG <--> ElastiCache <--> DynamoDB
  3. knben 👍 2 Answered B
    session data must be available even if the user is disconnected and reconnects -> ElastiCache for Redis
  4. LeonSauveterre 👍 1 Answered B
    User session data must be available even if the user is disconnected and reconnects. Choose ElastiCache for Redis. That remains true for so many similar questions.
  5. asdfcdsxdfc 👍 3
    why not A?
Show 1 more comment
  1. RC6 👍 2 Answered B
    B looks correct

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Practice All SAA-C03 Questions

Access 120 questions with complete answers and detailed explanations.

View Full SAA-C03 Practice Test →

← Back to SAA-C03 Study Guide