ASIMOV Valkey Module
ASIMOV module for Valkey / Redis database integration.
✨ Features
- Connects to Valkey or Redis instances via [
redis] crate - Scans, reads, and writes keys, values, and Pub/Sub messages
- Supports
.envconfiguration with ASIMOV Module utilities - CLI interface consistent with all ASIMOV ecosystem modules
- Distributed as static binaries with zero runtime dependencies
🛠️ Prerequisites
- Rust 1.85+ (2024 edition) if building from source code
- Running Valkey or Redis server (default:
redis://localhost:6379/0)
⬇️ Installation
Installation with the ASIMOV CLI
Installation from Source Code
👉 Examples
🔍 Listing Keys and Values (Cataloger)
List keys or JSON values stored in Valkey.
# Output stored values (JSONL)
# Output only keys / URLs
📡 Subscribing to Channels (Reader)
Subscribe to one or more Valkey channels and print incoming messages.
# Output messages as JSON lines
# Extract only "@id" URLs from JSON messages
✏️ Publishing Messages (Writer)
Publish messages from stdin to Valkey Pub/Sub channels.
# Publish JSON objects
|
# Publish and also echo to stdout
|
⚙ Configuration
Connection URL
You can configure the Valkey connection via environment variable or .env file.
Example .env file:
ASIMOV_VALKEY_URL=redis://127.0.0.1:6379/1
Example inline:
ASIMOV_VALKEY_URL="redis://127.0.0.1:6379/1"
📚 Reference
Installed Binaries
| Binary | Description |
|---|---|
asimov-valkey-cataloger |
Scans Valkey and prints stored keys or values |
asimov-valkey-reader |
Subscribes to Valkey channels and prints messages |
asimov-valkey-writer |
Publishes messages from stdin to Valkey channels |
asimov-valkey-cataloger
Usage: asimov-valkey-cataloger [OPTIONS]
Options:
-d, --debug Enable debugging output
--license Show license information
-v, --verbose... Enable verbose output (may be repeated for more verbosity)
-V, --version Print version information
-o, --output <FORMAT> Specify the output format [jsonl, url] [default: jsonl] [possible values: jsonl, url]
-h, --help Print help
asimov-valkey-reader
Usage: asimov-valkey-reader [OPTIONS] <CHANNELS>...
Arguments:
<CHANNELS>... Channels to subscribe to
Options:
-d, --debug Enable debugging output
--license Show license information
-v, --verbose... Enable verbose output (may be repeated for more verbosity)
-V, --version Print version information
-o, --output <FORMAT> Specify the output format [jsonl, url] [default: jsonl] [possible values: jsonl, url]
-h, --help Print help
asimov-valkey-writer
Usage: asimov-valkey-writer [OPTIONS] <CHANNELS>...
Arguments:
<CHANNELS>... Channels to publish to
Options:
-U, --union Copy stdin to stdout
-d, --debug Enable debugging output
--license Show license information
-v, --verbose... Enable verbose output (repeat for more verbosity)
-V, --version Print version information
-h, --help Print help
👨💻 Development