Sub-Millisecond Caching for GCP Cloud Run with Cloud Memorystore for Redis
High-throughput APIs hosted on GCP Cloud Run often encounter database query bottlenecks under heavy traffic spikes. Offloading repetitive read operations to an in-memory caching tier reduces database load and cuts API response times down to sub-milliseconds.
However, because Cloud Run services run outside private VPC networks by default, reaching a private Cloud Memorystore (Redis / Valkey) instance requires configuring Serverless VPC Access.
Architecture Diagram
[ Client Request ] ──► [ Cloud Run Container ]
│
(Serverless VPC Connector)
│
┌───────────────┴───────────────┐
▼ ▼
[ Cloud Memorystore ] [ PostgreSQL / Cloud SQL ]
(Sub-ms Redis Cache) (Primary Relational DB)Setting Up Serverless VPC Access via gcloud CLI
gcloud compute networks vpc-access connectors create redis-vpc-connector \
--region=us-central1 \
--subnet-project=my-gcp-project \
--ip-cidr-range=10.8.0.0/28gcloud run deploy api-service \
--image=gcr.io/my-project/api-service:latest \
--region=us-central1 \
--vpc-connector=redis-vpc-connector \
--vpc-egress=private-ranges-only \
--set-env-vars="REDIS_HOST=10.0.0.5,REDIS_PORT=6379"