Caching and read-replica are different technologies that solve similar problems. Their nuances and pros/cons dictate when to use what.
In general,
- Use Cache for ultra-fast, frequently accessed, and rarely updated data.
- Use Replicas for scaling consistent read queries or analytical workloads.
- Use Both for complex systems where latency-sensitive reads coexist with heavy analytical or distributed queries.
This article sums it up nicely:
https://medium.com/@avishek1210/database-cache-or-read-only-replicas-choosing-the-right-approach-for-your-project-0b92cec7b985#:~:text=Heavy%20Analytical%20Queries%3A%20Offload%20resource,ideal%20for%20real%2Dtime%20systems.