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).
- 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 based on RediSearch
docker run -p 6379:6379 --name redis-redisjson redislabs/rejson:latest
Read the docs at http://redisjson.io
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
.
redis-server --loadmodule ./target/release/librejson.so
redis-server --loadmodule ./target/release/librejson.dylib
Some languages have client libraries that provide support for RedisJSON's commands:
Project | Language | License | Author | Stars | Package |
---|---|---|---|---|---|
iorejson | Node.js | MIT | Evan Huang @evanhuang8 | npm | |
node_redis-rejson | Node.js | MIT | Kyle Davis @stockholmux | npm | |
redis-modules-sdk | Node.js | BSD-3-Clause | Dani Tseitlin @danitseitlin | npm | |
JRedisJSON | Java | BSD-2-Clause | Redis Labs | maven | |
redis-modules-java | Java | Apache-2.0 | Liming Deng @dengliming | maven | |
redisjson-py | Python | BSD-2-Clause | Redis Labs | pypi | |
go-rejson | Go | MIT | Nitish Malhotra @nitishm | ||
rejonson | Go | Apache-2.0 | Daniel Krom @KromDaniel | ||
NReJSON | .NET | MIT/Apache-2.0 | Tommy Hanks @tombatron | nuget | |
phpredis-json | PHP | MIT | Rafa Campoy @averias | composer | |
redislabs-rejson | PHP | MIT | Mehmet Korkmaz @mkorkmaz | composer | |
rejson-rb | Ruby | MIT | Pavan Vachhani @vachhanihpavan | rubygems |
RedisJSON is developed with <3 at Redis Labs.
RedisJSON is made possible only because of the existance of this amazing open source project:
Redis Source Available License Agreement - see LICENSE