Your application experiences unpredictable surges in read traffic, causing latency spikes. The dataset is too large to be fully cached in memory, and most of the data is not frequently accessed. However, when data is updated, it must reflect immediately across all cache nodes to ensure data consistency. How should you design the caching strategy?
Deploy an Amazon DynamoDB Accelerator (DAX) cluster to work with DynamoDB, providing immediate consistency for all cache nodes with a write-through caching strategy.
Implement Amazon ElastiCache for Memcached with an eviction policy that considers the frequency of data access, and handle updates using a write-through approach.
Use Amazon ElastiCache for Redis with a lazy-loading strategy and set up an event-driven mechanism to update cache on data changes.
Increase the number of Amazon RDS read replicas and implement a custom caching layer with application-level logic for data consistency.