#lunatic #db #redis #mysql #database-driver

lunatic-db

lunatic 运行时数据库驱动程序的集合

3 个版本

0.1.2 2022 年 11 月 17 日
0.1.1 2022 年 11 月 17 日
0.1.0 2022 年 11 月 17 日

#2663数据库接口

每月 30 次下载

Apache-2.0/MIT

190KB
3K SLoC

lunatic-db

lunatic 提供的 Rust 数据库驱动程序的集合。

目前可用的 db 驱动程序如下

  • MySQL
  • Redis

Redis 客户端

目前有一个相当好工作的 Redis 驱动程序,它主要基于 https://github.com/redis-rs/redis-rs,并提供了以下功能的示例

  • 各种集合/获取行为
  • 地理空间功能
  • 发布/订阅功能
  • 队列支持
  • 流支持
  • 与 redis-rs 相似的 API 表面
  • Tls 支持(尚未测试,因为我还没有设置 TLS Redis 实例)

您可以在 lunatic-redis/examples 下找到 Redis 示例,并在根目录下有运行它们的命令 ./Cargo.toml

为了使驱动程序更稳健,还有一些事情要做,即

  • 使所有测试工作(需要重写测试工具)
  • 向客户端添加自动重连
  • 确保多路复用可靠工作(例如,同一客户端从多个 lunatic 进程中使用)
  • 添加集群支持
  • 为 lunatic 抽象提供惯用的 pubsub API(尚未确定其确切外观)

MySQL 客户端

目前对 MySQL 客户端的测试较少,部分原因是原始 crate 也没有提供那么多示例。代码主要基于 https://github.com/blackbeam/rust-mysql-simple.git,并更改了一些内部连接相关细节,以便在 lunatic VM 上工作。

examples/mysql.rs 中有一个客户端工作的示例

MySQL 的下一步是以下步骤

  • 对库进行更广泛的测试
  • TLS 支持

依赖关系

~0–3MB
~52K SLoC