Skip to content

Repository files navigation

GitHub issuesCircleCImacosDockerhubCodecovTotal alerts

RedisJSON

ForumDiscord

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 --features 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

Some languages have client libraries that provide support for RedisJSON's commands:

ProjectLanguageLicenseAuthorStarsPackageComment
redis-pyPythonMITRedis Labsredis-py-starspypi
redis-om-pythonPythonBSD-3-ClauseRedisredis-om-python-starsPyPi
JedisJavaMITRedisJedis-starsMaven
JRedisJSONJavaBSD-2-ClauseRedis LabsJRedisJSON-starsmavenDeprecated
redis-modules-javaJavaApache-2.0Liming Deng @denglimingredis-modules-java-starsmaven
redis-om-springJavaBSD-3-ClauseRedisredis-om-spring-stars
node-redisNode.jsMITRedisnode-redis-starsnpm
iorejsonNode.jsMITEvan Huang @evanhuang8iorejson-starsnpm
node_redis-rejsonNode.jsMITKyle Davis @stockholmuxnode_redis-rejson-starsnpm
redis-modules-sdkNode.jsBSD-3-ClauseDani Tseitlin @danitseitlinredis-modules-sdk-starsnpm
ioredis-rejsonNode.jsMITFelipe Schulz @schulzfioredis-rejson-starsnpm
redis-om-nodeNodeBSD-3-ClauseRedisredis-om-node-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
redis-om-dotnet.NETBSD-3-ClauseRedisredis-om-dotnet-starsnuget
phpredis-jsonPHPMITRafa Campoy @averiasphpredis-json-starscomposer
redislabs-rejsonPHPMITMehmet Korkmaz @mkorkmazredislabs-rejson-starscomposer
rejson-rbRubyMITPavan Vachhani @vachhanihpavanrejson-rb-starsrubygems

Acknowledgments

RedisJSON is developed with <3 at Redis Labs.

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

License

Redis Source Available License Agreement - see LICENSE

About

RedisJSON - a JSON data type for Redis

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages