Documentation for Redict
Find a file
2024-04-03 21:53:04 +02:00
clients Add client Redis::Cluster::Fast for Perl (#2664) 2024-03-13 09:05:46 +01:00
commands Update references to the cluster spec 2024-04-03 21:07:11 +02:00
libraries Add librdb tool and c-library (#2675) 2024-02-28 16:57:32 +02:00
modules/community/github.com modules: remove non-free modules from listing 2024-03-24 12:13:34 -04:00
resources DOC-2511: reorder the clients by language list 2023-07-27 11:35:20 -07:00
tools Add librdb tool and c-library (#2675) 2024-02-28 16:57:32 +02:00
.gitignore Docs reorg (#2419) 2023-07-05 15:25:21 +03:00
commands.json Pull commands.json from Redict 2024-03-24 12:23:49 +01:00
COPYRIGHT License URL fixed. 2014-04-16 16:00:45 +02:00
groups.json adds groups.json 2022-03-14 15:15:07 +02:00
languages.json Add Ballerina to the list of languages (#2684) 2024-03-12 09:19:17 +01:00
LICENSE Create LICENSE 2019-10-27 21:57:32 +02:00
Makefile Merge modules into one modules.json file 2024-03-24 14:22:39 +01:00
modules.json modules: remove non-free modules from listing 2024-03-24 12:13:34 -04:00
README.md Cleanup 2024-04-03 21:53:04 +02:00
resp2_replies.json Fix the rendering of the RESP documentation for the INFO command (#2676) 2024-03-07 13:22:23 +01:00
resp3_replies.json Fix the rendering of the RESP documentation for the INFO command (#2676) 2024-03-07 13:22:23 +01:00
tool_types.json Add tools category 'Other' with K8s related tools (#2300) 2023-01-26 23:57:03 +01:00

Redict documentation

Clients

All clients are listed under language specific sub-folders of clients

The path follows the pattern: clients/{language}/github.com/{owner}/{repository}.json. The {language} component of the path is the path-safe representation of the full language name which is mapped in languages.json.

Commands

Redict commands are described in the commands.json file that is auto generated from the Redict repo based on the JSON files in the commands folder.

See: https://codeberg.org/redict/redict/src/branch/unstable/src/commands

For each command there's a Markdown file with a complete, human-readable description. We process this Markdown to provide a better experience, so some things to take into account:

  • Inside text, all commands should be written in all caps, in between backticks. For example: INCR.

  • You can use some magic keywords to name common elements in Redict. For example: @multi-bulk-reply. These keywords will get expanded and auto-linked to relevant parts of the documentation.

Each command will have a description and both RESP2 and RESP3 return values. Regarding the return values, these are contained in the files:

  • resp2_replies.json
  • resp3_replies.json

Each file is a dictionary with a matching set of keys. Each key is an array of strings that, when processed, produce Markdown content. Here's an example:

{
  ...
  "ACL CAT": [
    "One of the following:",
    "* [Array reply](/docs/reference/protocol-spec#arrays): an array of [Bulk string reply](/docs/reference/protocol-spec#bulk-strings) elements representing ACL categories or commands in a given category.",
    "* [Simple error reply](/docs/reference/protocol-spec#simple-errors): the command returns an error if an invalid category name is given."
  ],
  ...
}

Styling guidelines

Please use the following formatting rules (aiming for smaller diffs that are easier to review):

  • No need for manual lines wrapping at any specific length, doing so usually means that adding a word creates a cascade effect and changes other lines.
  • Please avoid writing lines that are too long, this makes the diff harder to review when only one word is changed.
  • Start every sentence on a new line.