30 releases (6 stable)

2.0.7 Oct 22, 2023
2.0.4 May 23, 2023
1.0.1 May 31, 2022
1.0.0 Feb 22, 2022
0.5.0 Oct 30, 2019

#152 in Database interfaces

Download history 3389/week @ 2024-08-14 3951/week @ 2024-08-21 3259/week @ 2024-08-28 3681/week @ 2024-09-04 2685/week @ 2024-09-11 3345/week @ 2024-09-18 4131/week @ 2024-09-25 2888/week @ 2024-10-02 4236/week @ 2024-10-09 2974/week @ 2024-10-16 3092/week @ 2024-10-23 3208/week @ 2024-10-30 3556/week @ 2024-11-06 3896/week @ 2024-11-13 3403/week @ 2024-11-20 3424/week @ 2024-11-27

14,943 downloads per month
Used in 5 crates

BSD-3-Clause

255KB
6K SLoC

license Releases crates.io docs CircleCI

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

  1. Install Rust
  2. Install Redis, most likely using your favorite package manager (Homebrew on Mac, APT or YUM on Linux)
  3. Run cargo build --example hello
  4. 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
  5. 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

~8–16MB
~237K SLoC