ReadySet is a lightweight query cache that sits between your application and database and turns even the most complex SQL reads into lightning-fast lookups.
Unlike other caching solutions, ReadySet keeps the cache in sync with your database automatically and requires no changes to your application code.
This means:
- No extra code to keep your cache and database in sync
- No extra code to evict stale records
- No TTLs to set - your cache is as up-to-date as your replication lag
ReadySet is wire-compatible with Postgres and MySQL.
Curious to see how ReadySet works? Run through our quick start to kick the tires and cache queries in under five minutes.
Getting up and running with ReadySet requires that you do three things: download ReadySet, connect it to a database, and create a cache.
The easiest way to install ReadySet is via Docker. First, download our Docker Compose file:
curl -L -o compose.yml "https://readyset.io/quickstart/compose.yml"
Make sure your database is configured to run with ReadySet and then modify the downloaded Docker Compose file to include your database connection string:
name: readyset
services:
cache:
...
environment:
# UPSTREAM_DB_URL: <your DB connection string>
...
grafana:
...
environment:
# UPSTREAM_DB_URL: <your DB connection string>
docker compose up -d
Once ReadySet is up and running, you'll need to create caches for the queries you want to speed up. Check out our caching guide for more details.
For more information, check out our documentation.
For questions or support, join us on the ReadySet Community Slack to chat with our team.
ReadySet is currently in beta. Our team is hard at work stabilizing the system with a focus on PostgreSQL. Our MySQL support is considered alpha. You can learn more about how we're approaching this and follow along on our progress below.
Project | Progress | Notes |
---|---|---|
General System Testing | Track | Run ReadySet in a production-like environment and validate its robustness in the presence of faults. |
Dataflow Testing | Track | Expand testing of the ReadySet caching engine. |
Benchmarking & Analysis | Track | Expand ReadySet's performance benchmarks to a wider array of workloads. |
Usability Improvements | Track | Make it easier to configure, interact with, and debug ReadySet. |
High Availability | Track | Ensure that ReadySet can accept connections, proxy queries, serve warm reads from the cache, and replicate writes from the primary database in the presence of certain failures. |
If you're interested in contributing, we gratefully welcome helping hands! We welcome contributions as GitHub pull requests, creating issues, advocacy, and participating in our community!
See our instructions on how to build ReadySet from source.
ReadySet is licensed under the BSL 1.1 license, converting to the open-source Apache 2.0 license after 4 years. It is free to use on any number of nodes.