Hybrid Caching System
Blazing-fast API responses through intelligent multi-layer caching. In-memory for instant hits, Redis for shared state, and automatic invalidation to keep data fresh — all configured in seconds.
Why Caching Matters
Database queries are slow. Network calls are slower. Baasix caches intelligently so your users never wait.
Every API request doesn't need to hit the database. Baasix implements a sophisticated three-tier caching system: L1 in-memory cache for sub-millisecond responses on the same server, L2 Redis cache for shared state across multiple servers, and L3 database as the source of truth. Data flows through these layers automatically, with smart invalidation when records change.
- L1 in-memory cache with configurable TTL for instant responses
- L2 Redis cache for shared state across server instances
- Automatic cache invalidation on create, update, and delete operations
- Per-collection cache configuration with fine-grained control
- Cache warming on startup for predictable performance
- Metrics and monitoring for cache hit rates and performance
- Zero configuration default — works out of the box
Skip Weeks of Caching Implementation
Building a proper caching layer is complex. Let Baasix handle it.
✓ With Baasix
- Multi-tier caching enabled by default
- Automatic invalidation on data changes
- Shared cache state across server instances
- Per-collection TTL configuration
- Cache metrics in dashboard
✗ Traditional Approach
- Implement cache-aside pattern manually
- Write invalidation logic for every operation
- Configure Redis cluster and connection pooling
- Build cache key management system
- Create custom monitoring for cache health
Caching Architecture
L1: In-Memory Cache
Process-local cache using LRU eviction. Sub-millisecond lookups for frequently accessed data on the same server instance.
L2: Redis Cache
Distributed cache shared across all server instances. Ensures consistency when running multiple API servers behind a load balancer.
Smart Invalidation
When data changes, only affected cache entries are invalidated. Related queries are automatically refreshed on next access.
Configurable TTLs
Set different time-to-live values per collection. Frequently changing data expires faster, static data stays cached longer.
Query-Level Caching
Complex queries with filters, sorts, and relations are cached independently. Same query returns instantly from cache.
Permission-Aware
Cache respects user permissions. Different users see different cached results based on their access rights.
Perfect For High-Traffic Applications
When every millisecond counts, intelligent caching makes the difference.
E-commerce Product Catalogs
Product pages load instantly from cache. Inventory updates invalidate only affected products. Handle Black Friday traffic without breaking a sweat.
Content Platforms
Articles, media, and user profiles cached for instant delivery. Comments and reactions update in real-time while static content stays cached.
API-First Applications
Mobile apps and SPAs get lightning-fast API responses. Reduce server costs by serving most requests from cache.
Multi-Region Deployments
Redis cluster enables cache sharing across regions. Users get local-speed responses regardless of database location.
Caching FAQ
How do I invalidate cache manually?
Baasix provides API endpoints to clear cache for specific collections or globally. You can also set up webhooks to trigger invalidation from external systems.
What happens when Redis is unavailable?
Baasix gracefully falls back to L1 memory cache and direct database queries. Your API stays operational, just with reduced cache efficiency until Redis recovers.
Can I disable caching for specific queries?
Yes! Add a no-cache header or query parameter to bypass cache for debugging or real-time requirements. Perfect for admin operations that need fresh data.
How does caching work with pagination?
Each page is cached independently. Requesting page 2 with the same filters hits cache. Pagination metadata is cached alongside results for consistent totals.
Ready to build faster?
Join developers who are shipping production-ready backends in hours, not weeks.