Cache reuse
Reuses cached data when it can and falls back to the server when needed.
Continuous background sync
Syncs continuously with the server in the background.
Custom Query URL
Customize the URL for query endpoint.
defineQueries
Register queries into a registry.
defineQuery
Create a query using defineQuery.
Granular Updates
Receive row-level changes for queries.
Horizontal Scaling
In production, zero-cache can run horizontally scaled, but not in dev configuration.
Local normalized client datastore
Data is stored locally in a normalized client datastore for instant access.
Local-Only Queries
Queries that run only on the client.
Mutate Endpoint
Server-side endpoint for mutations that writes to Postgres.
Documented feature
Precompiled SQLite Build
Provides a pre-compiled SQLite build via @rocicorp/zero-sqlite3 for inspecting the replica.
Provider-Specific Support
Notes for PlanetScale, Neon, Supabase, etc.
Query-based sync
Control what syncs by writing normal queries in app code.
Query Endpoint
Server-side endpoint that authorizes ZQL queries.
Query Names
Each query has a computed name sent to the server.
Query TTLs
Queries have configurable TTLs for caching.
Socket Inactivity Timeout
Monitors and resets half-open sockets.
URL Patterns
Use URLPattern for query endpoint URLs.
WAL Level Configuration
Requires wal_level=logical for replication.
WAL Sender Timeout
Uses wal_sender_timeout for replication monitoring.
Bounding WAL Size
Supports max_slot_wal_keep_size for dev databases.
WAL2 Mode
Uses a bedrock version of SQLite that runs in WAL2 mode, not compatible with standard SQLite tools.
Zero Query Language (ZQL)
A query language for building queries with filters, sorts, relationships.