KV stores

If you’re using Materia KV, our next generation of key-value databases, serverless, distributed, synchronously-replicated, compatible with the Redis® protocol (and later DynamoDB, GraphQL), you can easily create an add-on with Clever Tools:

clever addon create kv ADDON_NAME

And immediately use it with clever kv command:

clever features enable kv                # KV command is in testing stage
clever kv ADDON_NAME_OR_ID PING          # It will answer PONG
clever kv ADDON_NAME_OR_ID PING Hello    # It will answer Hello

It helps you to inspect and interact with your Materia KV. Each is provided with environment variables about its host, port, and Biscuit-based tokens, in multiple forms (to ensure compatibility with tools such those made for Redis®).

Tip

Clever KV command is also compatible with Redis® on Clever Cloud add-ons.

Commands

You can use clever kv to send any command supported by your add-on. Here are some examples:

clever kv ADDON_NAME_OR_ID INCR myCounter             # It will respond (integer) the incremented value
clever kv ADDON_NAME_OR_ID SET myKey myValue          # It will respond OK
clever kv ADDON_NAME_OR_ID GET myKey                  # It will respond myValue
clever kv ADDON_NAME_OR_ID SET myKey myValue EX 120   # It will respond OK
clever kv ADDON_NAME_OR_ID TTL myKey                  # It will respond (integer) the remaining time to live of the key in seconds

Tip

You can get a list of all supported commands with clever kv ADDON_NAME_OR_ID COMMANDS

You can pass the result of JSON stringified values to tools like jq to query them, for example:

clever kv ADDON_NAME_OR_ID SET myJsonFormatedKey '{"key": "value"}'
clever kv ADDON_NAME_OR_ID GET myJsonFormatedKey | jq .key

You can also use the -F/--format option to print a result in JSON format and query it with jq:

clever kv ADDON_NAME_OR_ID scan 0 -F json | jq '.[1][0]'
Last updated on

Did this documentation help you ?