4 stable releases
2.0.7 | Oct 22, 2023 |
---|---|
2.0.5 | Sep 20, 2023 |
2.0.4 | May 23, 2023 |
2.0.3 | May 4, 2023 |
#299 in #redis
4,095 downloads per month
Used in 3 crates
(via redis-module)
10KB
170 lines
redismodule-rs
This crate provides an idiomatic Rust API for the Redis Modules API. It allows writing Redis modules in Rust, without needing to use raw pointers or unsafe code. See here for the most recent API documentation.
Running the example module
- Install Rust
- Install Redis, most likely using your favorite package manager (Homebrew on Mac, APT or YUM on Linux)
- Run
cargo build --example hello
- Start a redis server with the
hello
module- Linux:
redis-server --loadmodule ./target/debug/examples/libhello.so
- Mac:
redis-server --loadmodule ./target/debug/examples/libhello.dylib
- Linux:
- Open a Redis CLI, and run
HELLO.MUL 31 11
.
Writing your own module
See the examples directory for some sample modules.
This crate tries to provide high-level wrappers around the standard Redis Modules API, while preserving the API's basic concepts. Therefore, following the Redis Modules API documentation will be mostly relevant here as well.
Redis Modules based on this crate
The following are some modules that are built on this crate:
Several member of the community have written their own modules based on this.
Dependencies
~1.5MB
~37K SLoC