readysettech/readysetReadySet 是一款轻量级查询缓存,部署于应用程序与数据库之间,能够将复杂的 SQL 读操作转换为闪电般快速的查找。与其他缓存解决方案不同,ReadySet 可自动保持缓存与数据库同步,且无需修改应用程序代码。它与 Postgres 和 MySQL 有线兼容,为数据库查询提供实时加速。
如需在 5 分钟内开始使用,运行以下命令:
bashbash -c "$(curl -sSL [***]"
更多详情请参见 快速入门指南。
ReadySet Cloud 是托管服务,可轻松扩展数据库,如需试用请访问 ReadySet Cloud。
0. 确保能连接到主数据库
ReadySet 需要安装在能与主数据库通信的机器上。可通过以下命令测试连接(以 Postgres 为例):
bashpsql -h <IP地址> -p <端口> -d <目标数据库名> -U <数据库用户名>
若连接成功,则准备就绪。
1. 确保有足够的磁盘空间和内存
所有需要缓存查询引用的表都需加载到 ReadySet 中。安装前,请确保机器有足够的磁盘空间和内存来复制基础表和缓存查询。
注意:默认情况下,ReadySet 会拉取数据库中的所有表。如需指定特定表,需在步骤 3 中设置 --replication-tables 标志。
2. 下载 ReadySet Docker 镜像
bashdocker pull readysettech/readyset
3. 运行 ReadySet 容器
首先,获取主数据库的连接字符串,格式如下:
postgres://<用户名>:<密码>@<主机>:<端口>/<数据库名>
然后,定义要拉取到 ReadySet 的表列表,格式为逗号分隔的 <schema>.<table>,例如 <schema>.<table1>,<schema>.<table2>。
<schema>.*运行以下命令启动 ReadySet 容器:
bashdocker run -d -p 5433:5433 --name readyset \ -e UPSTREAM_DB_URL=<数据库连接字符串> \ -e REPLICATION_TABLES=<要导入的表> \ -e LISTEN_ADDRESS=0.0.0.0:5433 \ -e PROMETHEUS_METRICS=true \ -e STANDALONE=true \ readysettech/readyset:latest
示例:连接本地 Docker 运行的 Postgres 并导入 locution 数据库的所有表:
bashdocker run -d -p 5433:5433 --name readyset \ -e UPSTREAM_DB_URL=postgres://postgres:***:5432/locution \ -e LISTEN_ADDRESS=0.0.0.0:5433 \ -e PROMETHEUS_METRICS=true \ -e STANDALONE=true \ readysettech/readyset:latest
ReadySet 启动后会连接数据库并复制指定表(或所有表)。根据表大小和网络状况,此过程可能需要几秒到几小时。
检查日志确认状态:
bashdocker logs readyset
当看到以下日志时,表示快照完成,ReadySet 已准备好缓存查询:
INFO replicators::noria_adapter: Streaming replication started
通过 ReadySet Shell 检查:
登录 ReadySet Shell 并运行:
sqlSHOW READYSET STATUS;
查看 Snapshot Status 列,若显示 Completed,则表示快照成功完成。
更多信息请查阅 官方文档。
如需问题咨询或支持,加入 ReadySet 社区 Slack 与团队交流。
欢迎通过以下方式贡献:
ReadySet 采用 BSL 1.1 许可协议,4 年后转换为开源 Apache 2.0 许可协议。可在任意数量的节点上免费使用。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务