Crates.io | lunatic-db |
lib.rs | lunatic-db |
version | 0.1.2 |
source | src |
created_at | 2022-11-17 13:07:12.203287 |
updated_at | 2022-11-17 19:25:05.905569 |
description | A collection of db drivers for the lunatic runtime |
homepage | |
repository | https://github.com/lunatic-solutions/lunatic-db |
max_upload_size | |
id | 717210 |
size | 55,419 |
A collection of Rust db drivers for lunatic.
The following db drivers are available at the moment:
MySQL
Redis
At the moment there's a fairly well working redis driver which is largely based on https://github.com/redis-rs/redis-rs with working examples for the following features:
You can find the redis examples under
lunatic-redis/examples
and there are commands to run them in the root./Cargo.toml
In order to make the driver more robust there are still some things to do, namely:
make all tests work (requires a rewrite of test utilities)
Add automatic reconnections to clients
Make sure multiplexing works reliably (e.g. same client used from multiple lunatic processes)
Add cluster support
Provide an idiomatic pubsub API for lunatic abstractions (not yet settled on how exactly it should look like)
The MySQL client is less tested at the moment, partially because the original crate also doesn't provide that many examples. The code is largely based on https://github.com/blackbeam/rust-mysql-simple.git and has some internal connection-related details changed in order to work on the lunatic VM.
There is an example of the client working at examples/mysql.rs
The next steps for MySQL are the following: