#twilight #discord #discord-api #后端 #API 绑定

已删除 sparkle-cache-postgres

Twilight 生态系统使用的 PostgresSQL 缓存实现

0.14.1 2022 年 11 月 20 日
0.14.0 2022 年 11 月 18 日
0.13.3 2022 年 11 月 6 日
0.13.2 2022 年 11 月 6 日
0.13.1 2022 年 11 月 6 日

#29 in #twilight

ISC 许可证

110KB
3K SLoC

Rust 2K SLoC // 0.0% comments SQL 1K SLoC

Sparkle Cache Postgres

GitHub crates.io docs.rs

Twilight 生态系统使用的 PostgresSQL 缓存实现

它提供了一个实现了 Sparkle Cache 特性的缓存结构,并使用 SQLx 作为后端驱动程序

它还提供了对缓存后端的访问,这意味着您可以使用同一数据库存储自定义数据

编译时验证

要使用 SQLx 的编译时验证,请将环境变量 DATABASE_URL 设置为数据库的 URL,例如,DATABASE_URL=postgresql://localhost:5432/sparkle

稳定性

这是一个新库,相对不成熟。它通过了 Sparkle Cache 的测试,但当然可能还有它们未涵盖的点。如果有与 PostgresSQL 实现直接相关的错误,请创建一个问题

由于 Twilight 中的一个错误(1954 号问题),Sparkle Cache 的测试目前不涵盖贴纸

该库在内部将无符号整数转换为 ID,因此请勿在 SQL 中使用基于整数的函数(如 SUM 或相等/大小检查),而是查询数据并使用 Rust 的等效函数

功能

TLS 后端

  • rustls(默认值):启用 SQLx 的 runtime-tokio-rustls 功能
  • native-tls:启用 SQLx 的 runtime-tokio-native-tls 功能

只能选择这些功能之一

依赖项

~12–28MB
~454K SLoC