Home

Awesome

GitHub issues CircleCI macos Dockerhub Codecov

RedisJSON

Forum Discord

<img src="docs/docs/images/logo.svg" alt="logo" width="300"/>

Overview

RedisJSON is a Redis module that implements ECMA-404 The JSON Data Interchange Standard as a native data type. It allows storing, updating and fetching JSON values from Redis keys (documents).

Primary features

Quick start

docker run -p 6379:6379 --name redis-stack redis/redis-stack:latest

Documentation

Read the docs at https://redis.io/docs/latest/develop/data-types/json/

How do I Redis?

Learn for free at Redis University

Build faster with the Redis Launchpad

Try the Redis Cloud

Dive in developer tutorials

Join the Redis community

Work at Redis

Build

Make sure you have Rust installed: https://www.rust-lang.org/tools/install

Then, build as usual:

cargo build --release

When running the tests, you need to explicitly specify the test feature to disable use of the Redis memory allocator when testing:

cargo test

If you forget to do this, you'll see an error mentioning signal: 4, SIGILL: illegal instruction.

Run

Linux

redis-server --loadmodule ./target/release/librejson.so

Mac OS

redis-server --loadmodule ./target/release/librejson.dylib

Client libraries

Official clients

<img width="75" src="https://user-images.githubusercontent.com/1655867/228534778-d0b41ce8-3ce4-4340-bd32-754f01ebed43.svg" /><img width="75" src="https://raw.githubusercontent.com/devicons/devicon/master/icons/java/java-plain-wordmark.svg" /><img width="75" src="https://raw.githubusercontent.com/devicons/devicon/master/icons/nodejs/nodejs-original-wordmark.svg" /><img width="75" src="https://raw.githubusercontent.com/devicons/devicon/master/icons/python/python-original-wordmark.svg" />
NRedisStackJedisnode-redisredis-py
Redis.OMRedis OM Springredis-om-noderedis-om

Community supported clients

ProjectLanguageLicenseAuthorStarsPackageComment
RedissonJavaApache-2.0RedissonRedisson-starsMaven
redis-modules-javaJavaApache-2.0Liming Deng @denglimingredis-modules-java-starsmaven
ioredis-rejsonNode.jsMITFelipe Schulz @schulzfioredis-rejson-starsnpm
go-rejsonGoMITNitish Malhotra @nitishmgo-rejson-stars
rejonsonGoApache-2.0Daniel Krom @KromDanielrejonson-stars
rueidisGoApache-2.0Rueian @rueianrueidis-stars
NReJSON.NETMIT/Apache-2.0Tommy Hanks @tombatronNReJSON-starsnuget
phpredis-jsonPHPMITRafa Campoy @averiasphpredis-json-starscomposer
redislabs-rejsonPHPMITMehmet Korkmaz @mkorkmazredislabs-rejson-starscomposer
rejson-rbRubyMITPavan Vachhani @vachhanihpavanrejson-rb-starsrubygems
rustisRustMITDahomey Technologiesrustis-starscrateDocumentation
coredisPythonMITAli-Akber Saifee @alisaifeecoredis-starspypiDocumentation

Acknowledgments

RedisJSON is developed with <3 at Redis Labs.

RedisJSON is made possible only because of the existence of this amazing open source project:

License

RedisJSON is licensed under the Redis Source Available License 2.0 (RSALv2) or the Server Side Public License v1 (SSPLv1).