Awesome
RedisJSON
<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
- 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 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
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
Community supported clients
Project | Language | License | Author | Stars | Package | Comment |
---|---|---|---|---|---|---|
Redisson | Java | Apache-2.0 | Redisson | Maven | ||
redis-modules-java | Java | Apache-2.0 | Liming Deng @dengliming | maven | ||
ioredis-rejson | Node.js | MIT | Felipe Schulz @schulzf | npm | ||
go-rejson | Go | MIT | Nitish Malhotra @nitishm | |||
rejonson | Go | Apache-2.0 | Daniel Krom @KromDaniel | |||
rueidis | Go | Apache-2.0 | Rueian @rueian | |||
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 | ||
rustis | Rust | MIT | Dahomey Technologies | crate | Documentation | |
coredis | Python | MIT | Ali-Akber Saifee @alisaifee | pypi | Documentation |
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).