#transaction #glue-sql #sled #shared #concurrency #active #sled-storage

gluesql_shared_sled_storage

GlueSQL 共享 sled 存储库,用于并发和稳定性

10 个版本

0.2.0 2024 年 5 月 13 日
0.1.8 2024 年 5 月 13 日
0.1.1 2024 年 3 月 7 日

#836数据库接口

每月 27 次下载

MIT 许可证

16KB
361

GlueSQL Shared Sled Storage

标准 SledStorage 不支持并发。我在 SledStorage 上添加了 RwLock 和事务状态,使其使用起来与标准 SharedMemoryStorage 一样简单。

  • RwLock:通过防止在 Sled 锁定时创建新事务来维护每个有效事务
  • TransactionState:通过避免/等待新事务,防止在另一个事务已经开始但尚未提交时回滚
  • Drop:通过在优雅终止时提交事务来防止下一个实例回滚

await_active_transaction 设置为 true 以等待活动事务提交。设置为 false 以在存在活动事务时仅返回错误。

依赖项

~18–31MB
~493K SLoC