Busabase
Busabase is an open-source (MIT) database and workspace for AI agents — data, docs, skills, and apps in one place. Run it locally, self-host it inside your network, or use Busabase Cloud, and turn age
翻訳待ち
In-memory key-value server in Rust that speaks RESP, so redis-cli and Redis clients connect. Locks, rate limits, job queues and a change feed are single commands; Raft-based failover. Clients for Rust, .NET, Go, Java, Python and Node.js.
翻訳待ち
Loading the full README.
Read the full README ↗The shard that owns a key parses, records, applies, and replies. The hot path does not take a lock and does not hop to another thread.
| Strength | What it means |
|---|---|
| Owner-per-shard engine | One owner per shard, no lock on apply. A feature allocates only when a key uses it: twenty thousand leases added about 3.6 MB, twenty thousand versioned 64-byte strings about 7.2 MB, body included. |
| Durability you name | memory, snapshot, everysec or always, chosen at startup. A write is checked, appended, then applied. If the log cannot take the record, the key stays as it was and later writes return MISCONF. |
| Wire compatible | RESP2, and RESP3 after HELLO 3; redis-cli and existing RESP clients connect. The command list that CI checks is docs/compatibility-matrix.json. |
| Six first-party clients | Rust, C#, Go, Java, Python and Node.js, each with a typed method for every one of the 299 listed commands and cluster routing from one seed address. |
| Operator UI | A browser view of one running server: data, command forms, Pub/Sub and ACL users. |
A default process listens on 127.0.0.1:6379.
docker run --rm -p 6379:6379 \
-e RUVIO_REQUIREPASS=change-me \
-v ruvio-data:/data \
salihcantekin/ruvio:linux
redis-cli -h 127.0.0.1 -p 6379 -a change-me PING
linux and latest are the same Linux image, as is each version tag, built for linux/amd64 and linux/arm64 (Apple Silicon and other arm64 hosts run it natively). The image default durability is memory. A persistent deploy sets RUVIO_DURABILITY and keeps the volume.
Install the prebuilt binary package from the Arch User Repository (AUR):
yay -S ruvio-bin
# or
paru -S ruvio-bin
Start and enable the systemd service:
sudo systemctl enable --now ruvio
Download a binary from GitHub Releases. Each archive holds ruvio (the server), ruvio-ctl (backup, restore and checks), ruvio.example.toml, the README and the license. SHA256SUMS lists the checksums.
# Linux x64; swap the platform for linux-arm64 or macos-arm64
v=0.4.0
curl -LO https://github.com/salihcantekin/ruvio/releases/download/ruvio-$v/ruvio-$v-linux-x64.tar.gz
tar xzf ruvio-$v-linux-x64.tar.gz
cd ruvio-$v-linux-x64
./ruvio --requirepass change-me --data-dir ./data
On Windows, unzip ruvio-<version>-windows-x64.zip and run ruvio.exe. On macOS, a binary downloaded by a browser is quarantined; xattr -d com.apple.quarantine ruvio ruvio-ctl clears it (downloads with curl are not quarantined). ruvio --help lists every flag.
cargo run --release --bin ruvio
redis-cli -h 127.0.0.1 -p 6379 PING
The server is installed from the Docker image, a release binary, or built from this checkout; it is not published as a crate.
Settings merge in this order: built-in defaults, ruvio.toml (template: ruvio.example.toml), RUVIO_* environment variables, then CLI flags. The file is read once, at process start. See Configuration.
These commands run on the shard that owns the key. examples/09_building_blocks_tour.py runs the main ones in a few seconds against a local server; the use cases page shows each job with all six clients. A key that never uses them stores nothing extra. GET, SET, and INCR do not consult them.
This is the beginning of the README. Read the rest at the original. Read the full README ↗