ASIMOV module for Valkey / Redis database integration.
- 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
- Rust 1.85+ (2024 edition) if building from source code
- Running Valkey or Redis server (default:
redis://localhost:6379/0)
Installation with the ASIMOV CLI
asimov module install valkey -vcargo install asimov-valkey-moduleList keys or JSON values stored in Valkey.
# Output stored values (JSONL)
asimov-valkey-cataloger --output jsonl
# Output only keys / URLs
asimov-valkey-cataloger --output urlSubscribe to one or more Valkey channels and print incoming messages.
# Output messages as JSON lines
asimov-valkey-reader --output jsonl asimov:events
# Extract only "@id" URLs from JSON messages
asimov-valkey-reader --output url asimov:eventsPublish messages from stdin to Valkey Pub/Sub channels.
# Publish JSON objects
echo '{"@id":"https://example.com/r/1","k":"v"}' \
| asimov-valkey-writer asimov:events
# Publish and also echo to stdout
echo '{"msg":"test"}' \
| asimov-valkey-writer --union asimov:eventsYou can configure the Valkey connection via environment variable or .env file.
ASIMOV_VALKEY_URL=redis://127.0.0.1:6379/1ASIMOV_VALKEY_URL="redis://127.0.0.1:6379/1" asimov-valkey-cataloger| 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 |
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
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
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
git clone https://github.com/asimov-modules/asimov-valkey-module.git