/rejson

ReJSON - a JSON data type for Redis

Primary LanguageCGNU Affero General Public License v3.0AGPL-3.0

Build Status

ReJSON - a JSON data type for Redis

ReJSON 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-like syntax for selecting element 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

Quickstart

  1. Build the ReJSON module library
  2. Load ReJSON to Redis
  3. Use ReJSON from any Redis client, e.g.:

ReJSON with redis-cli

Documentation

Read the docs at https://redislabsmodules.github.io/rejson

Current limitations and known issues

  • Beta quality
  • Searching for object keys is O(N)
  • Containers are not scaled down after deleting items (i.e. free memory isn't reclaimed)
  • Numbers are stored using 64-bit integers or doubles, and out of range values are not accepted

Acknowledgements

ReJSON is developed with <3 at Redis Labs.

ReJSON is made possible only because of the existance of these amazing open source projects:

License

AGPLv3 - see LICENSE