Use JSON.DEBUG to inspect internal details of stored JSON values.
JSON.DEBUG MEMORY reports the approximate number of bytes used by the value a key and optional path select, which is how you find out which documents, or which branches of a document, are responsible for memory growth. The figure includes internal overhead and is an estimate meant for comparison rather than exact accounting. JSON.DEBUG HELP lists the supported forms.
It is a diagnostic aid: the details it exposes are implementation-specific and can change, so do not build application logic on them.
Syntax#
Arguments#
| Argument | Required | Repeatable | Description |
|---|---|---|---|
MEMORY | One form | No | Report the approximate memory used by the JSON value selected by key and optional path. |
key | For MEMORY | No | JSON document key. |
path | No | No | JSONPath to inspect; defaults to the root. |
HELP | One form | No | Return the supported JSON.DEBUG forms. |
Important points#
- Raw TCP examples pass JSON values as valid JSON text. Typed Upstash SDK helpers serialize native objects and values for you.
- Paths beginning with
$use JSONPath and can match multiple values, so many JSON commands return an array of per-match results.
Response#
The reply reports the result of the operation. Error replies have the same shape in RESP2 and RESP3 and are surfaced as exceptions by the SDKs below.
| Protocol | Reply |
|---|---|
| RESP2 | Integer, array of integers, or array of help strings |
| RESP3 | Integer, array of integers, or array of help strings |
Client libraries often decode bulk strings, maps, sets, and numeric strings into language-native values. The table describes the Redis wire reply.
Examples#
TCP examples use the TLS REDIS_URL from the Upstash console. REST examples use UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN.
Redis CLI
@upstash/redis
This command is not supported yet in @upstash/redis.
upstash_redis
This command is not supported yet in upstash_redis.