Repolode
readysettech

readysettech/readyset

位于应用与 MySQL、Postgres 之间的透明缓存层,通过复制流自动同步缓存的查询结果。

Star
5,299
Fork
166
未关闭 Issue
121
最近提交
昨天

这是什么?

Readyset 是一个位于应用与 MySQL、Postgres 数据库之间的缓存层。它与两种数据库的通信协议兼容,现有的 ORM 和数据库客户端无需修改代码即可直接连接。即使是复杂的 SQL 读取,也能转化为快速查找,显著提升读取性能。

与需要手动维护的缓存不同,Readyset 通过读取数据库的复制流,自动让缓存结果与数据库保持同步,应用无需自行处理缓存失效。被缓存的 SELECT 语句会随底层数据变化而增量更新。

项目使用 Rust 编写,提供 Docker 镜像、Linux 二进制文件和一键安装脚本。官方也提供托管服务 Readyset Cloud。

核心功能

  • 01兼容 MySQL 和 Postgres 通信协议,现有客户端和 ORM 无需改动。
  • 02借助数据库复制流自动保持缓存结果同步。
  • 03底层数据变化时增量更新被缓存的 SELECT 结果。
  • 04将复杂 SQL 读取转化为类似内存键值存储的快速查找。
  • 05支持通过 Docker、Linux 二进制或安装脚本部署。

适用场景

  • 在不重写数据访问代码的情况下,加速读多写少的 Web 应用。
  • 为成为瓶颈的数据库扩展读取吞吐量。
  • 缓存在主库上执行缓慢的复杂报表或多表连接查询。

快速上手

  1. 1

    运行 README 中的官方安装脚本

  2. 2

    或使用 README 中的 Docker 镜像安装

使用前须知

  • 采用 BSL 1.1 许可证,属于源码可用而非开源许可,四年后才转为 Apache 2.0。

收录于专题

标签

常见问题

readyset 是什么?
位于应用与 MySQL、Postgres 之间的透明缓存层,通过复制流自动同步缓存的查询结果。 Readyset 是一个位于应用与 MySQL、Postgres 数据库之间的缓存层。它与两种数据库的通信协议兼容,现有的 ORM 和数据库客户端无需修改代码即可直接连接。即使是复杂的 SQL 读取,也能转化为快速查找,显著提升读取性能。
readyset 可以免费使用吗?用的什么许可证?
readyset 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
readyset 还在维护吗?
活跃维护中。readyset 最近一次提交是在 2026年11月5日。
readyset 适合用来做什么?
在不重写数据访问代码的情况下,加速读多写少的 Web 应用。 为成为瓶颈的数据库扩展读取吞吐量。 缓存在主库上执行缓慢的复杂报表或多表连接查询。
readyset 怎么安装和运行?
运行 README 中的官方安装脚本 或使用 README 中的 Docker 镜像安装
在哪里获取 readyset?
源代码和安装说明在 GitHub 上:https://github.com/readysettech/readyset

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目