Skip to content

Repository files navigation

GitHub issuesCircleCImacosDockerhubCodecov

RedisJSON

ForumDiscord

logo

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

  • Full support of the JSON standard
  • JSONPath syntax for selecting elements inside documents
  • Documents are stored as binary data in a tree structure, allowing fast access to sub-elements
  • Typed atomic operations for all JSON values types
  • Secondary index support when combined with RediSearch

Quick start

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

Documentation

Read the docs at http://redisjson.io

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

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).

About

RedisJSON - a JSON data type for Redis

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages