X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/50d0e82d54d9fcc7f42443a9cde51d812934b3c1..989a7820ca0cb1b88493797fdecd2e7168558859:/src/help.h diff --git a/src/help.h b/src/help.h index ba9b299a..1378b8b8 100644 --- a/src/help.h +++ b/src/help.h @@ -1,701 +1,749 @@ +/* Automatically generated by utils/generate-command-help.rb, do not edit. */ -// Auto-generated, do not edit. +#ifndef __REDIS_HELP_H +#define __REDIS_HELP_H -#include -#include - -/* - * List command groups. - */ - -#define GROUPS \ - G(UNKNOWN, "unknown") \ - G(SET, "set") \ - G(LIST, "list") \ - G(HASH, "hash") \ - G(GENERIC, "generic") \ - G(PUBSUB, "pubsub") \ - G(STRING, "string") \ - G(SERVER, "server") \ - G(CONNECTION, "connection") \ - G(TRANSACTIONS, "transactions") \ - G(SORTED_SET, "sorted_set") - -/* - * Command group types. - */ - -typedef enum { - #define G(GROUP, _) COMMAND_GROUP_##GROUP, - GROUPS - #undef G - COMMAND_GROUP_LENGTH -} command_group_type_t; - -/* - * Command group type names. - */ - -static char *command_group_type_names[] = { - #define G(_, STR) STR, - GROUPS - #undef G +static char *commandGroups[] = { + "generic", + "string", + "list", + "set", + "sorted_set", + "hash", + "pubsub", + "transactions", + "connection", + "server", + "scripting" }; -/* - * Command help struct. - */ - -struct command_help { +struct commandHelp { char *name; char *params; char *summary; - command_group_type_t group; + int group; char *since; -} command_help[] = { - { "APPEND", +} commandHelp[] = { + { "APPEND", "key value", "Append a value to a key", - COMMAND_GROUP_STRING, - "1.3.3" } -, { "AUTH", + 1, + "2.0.0" }, + { "AUTH", "password", "Authenticate to the server", - COMMAND_GROUP_CONNECTION, - "0.08" } -, { "BGREWRITEAOF", + 8, + "1.0.0" }, + { "BGREWRITEAOF", "-", "Asynchronously rewrite the append-only file", - COMMAND_GROUP_SERVER, - "1.07" } -, { "BGSAVE", + 9, + "1.0.0" }, + { "BGSAVE", "-", "Asynchronously save the dataset to disk", - COMMAND_GROUP_SERVER, - "0.07" } -, { "BLPOP", + 9, + "1.0.0" }, + { "BITCOUNT", + "key [start] [end]", + "Count set bits in a string", + 1, + "2.6.0" }, + { "BITOP", + "operation destkey key [key ...]", + "Perform bitwise operations between strings", + 1, + "2.6.0" }, + { "BLPOP", "key [key ...] timeout", "Remove and get the first element in a list, or block until one is available", - COMMAND_GROUP_LIST, - "1.3.1" } -, { "BRPOP", + 2, + "2.0.0" }, + { "BRPOP", "key [key ...] timeout", "Remove and get the last element in a list, or block until one is available", - COMMAND_GROUP_LIST, - "1.3.1" } -, { "CONFIG GET", + 2, + "2.0.0" }, + { "BRPOPLPUSH", + "source destination timeout", + "Pop a value from a list, push it to another list and return it; or block until one is available", + 2, + "2.2.0" }, + { "CLIENT KILL", + "ip:port", + "Kill the connection of a client", + 9, + "2.4.0" }, + { "CLIENT LIST", + "-", + "Get the list of client connections", + 9, + "2.4.0" }, + { "CONFIG GET", "parameter", "Get the value of a configuration parameter", - COMMAND_GROUP_SERVER, - "2.0" } -, { "CONFIG SET", + 9, + "2.0.0" }, + { "CONFIG RESETSTAT", + "-", + "Reset the stats returned by INFO", + 9, + "2.0.0" }, + { "CONFIG SET", "parameter value", "Set a configuration parameter to the given value", - COMMAND_GROUP_SERVER, - "2.0" } -, { "DBSIZE", + 9, + "2.0.0" }, + { "DBSIZE", "-", "Return the number of keys in the selected database", - COMMAND_GROUP_SERVER, - "0.07" } -, { "DEBUG OBJECT", + 9, + "1.0.0" }, + { "DEBUG OBJECT", "key", "Get debugging information about a key", - COMMAND_GROUP_SERVER, - "0.101" } -, { "DEBUG SEGFAULT", + 9, + "1.0.0" }, + { "DEBUG SEGFAULT", "-", "Make the server crash", - COMMAND_GROUP_SERVER, - "0.101" } -, { "DECR", - "key decrement", + 9, + "1.0.0" }, + { "DECR", + "key", "Decrement the integer value of a key by one", - COMMAND_GROUP_STRING, - "0.07" } -, { "DECRBY", + 1, + "1.0.0" }, + { "DECRBY", "key decrement", "Decrement the integer value of a key by the given number", - COMMAND_GROUP_STRING, - "0.07" } -, { "DEL", + 1, + "1.0.0" }, + { "DEL", "key [key ...]", "Delete a key", - COMMAND_GROUP_GENERIC, - "0.07" } -, { "DISCARD", + 0, + "1.0.0" }, + { "DISCARD", "-", "Discard all commands issued after MULTI", - COMMAND_GROUP_TRANSACTIONS, - "1.3.3" } -, { "ECHO", + 7, + "2.0.0" }, + { "DUMP", + "key", + "Return a serialized version of the value stored at the specified key.", + 0, + "2.6.0" }, + { "ECHO", "message", "Echo the given string", - COMMAND_GROUP_CONNECTION, - "0.07" } -, { "EXEC", + 8, + "1.0.0" }, + { "EVAL", + "script numkeys key [key ...] arg [arg ...]", + "Execute a Lua script server side", + 10, + "2.6.0" }, + { "EVALSHA", + "sha1 numkeys key [key ...] arg [arg ...]", + "Execute a Lua script server side", + 10, + "2.6.0" }, + { "EXEC", "-", "Execute all commands issued after MULTI", - COMMAND_GROUP_TRANSACTIONS, - "1.1.95" } -, { "EXISTS", + 7, + "1.2.0" }, + { "EXISTS", "key", "Determine if a key exists", - COMMAND_GROUP_SERVER, - "0.07" } -, { "EXPIRE", + 0, + "1.0.0" }, + { "EXPIRE", "key seconds", "Set a key's time to live in seconds", - COMMAND_GROUP_GENERIC, - "0.09" } -, { "EXPIREAT", + 0, + "1.0.0" }, + { "EXPIREAT", "key timestamp", "Set the expiration for a key as a UNIX timestamp", - COMMAND_GROUP_GENERIC, - "1.1" } -, { "FLUSHALL", + 0, + "1.2.0" }, + { "FLUSHALL", "-", "Remove all keys from all databases", - COMMAND_GROUP_SERVER, - "0.07" } -, { "FLUSHDB", + 9, + "1.0.0" }, + { "FLUSHDB", "-", "Remove all keys from the current database", - COMMAND_GROUP_SERVER, - "0.07" } -, { "GET", + 9, + "1.0.0" }, + { "GET", "key", "Get the value of a key", - COMMAND_GROUP_STRING, - "0.07" } -, { "GETSET", + 1, + "1.0.0" }, + { "GETBIT", + "key offset", + "Returns the bit value at offset in the string value stored at key", + 1, + "2.2.0" }, + { "GETRANGE", + "key start end", + "Get a substring of the string stored at a key", + 1, + "2.4.0" }, + { "GETSET", "key value", "Set the string value of a key and return its old value", - COMMAND_GROUP_STRING, - "0.091" } -, { "HDEL", - "key field", - "Delete a hash field", - COMMAND_GROUP_HASH, - "1.3.10" } -, { "HEXISTS", + 1, + "1.0.0" }, + { "HDEL", + "key field [field ...]", + "Delete one or more hash fields", + 5, + "2.0.0" }, + { "HEXISTS", "key field", "Determine if a hash field exists", - COMMAND_GROUP_HASH, - "1.3.10" } -, { "HGET", + 5, + "2.0.0" }, + { "HGET", "key field", "Get the value of a hash field", - COMMAND_GROUP_HASH, - "1.3.10" } -, { "HGETALL", + 5, + "2.0.0" }, + { "HGETALL", "key", "Get all the fields and values in a hash", - COMMAND_GROUP_HASH, - "1.3.10" } -, { "HINCRBY", + 5, + "2.0.0" }, + { "HINCRBY", "key field increment", "Increment the integer value of a hash field by the given number", - COMMAND_GROUP_HASH, - "1.3.10" } -, { "HKEYS", + 5, + "2.0.0" }, + { "HINCRBYFLOAT", + "key field increment", + "Increment the float value of a hash field by the given amount", + 5, + "2.6.0" }, + { "HKEYS", "key", "Get all the fields in a hash", - COMMAND_GROUP_HASH, - "1.3.10" } -, { "HLEN", + 5, + "2.0.0" }, + { "HLEN", "key", "Get the number of fields in a hash", - COMMAND_GROUP_HASH, - "1.3.10" } -, { "HMGET", + 5, + "2.0.0" }, + { "HMGET", "key field [field ...]", "Get the values of all the given hash fields", - COMMAND_GROUP_HASH, - "1.3.10" } -, { "HMSET", + 5, + "2.0.0" }, + { "HMSET", "key field value [field value ...]", "Set multiple hash fields to multiple values", - COMMAND_GROUP_HASH, - "1.3.8" } -, { "HSET", + 5, + "2.0.0" }, + { "HSET", "key field value", "Set the string value of a hash field", - COMMAND_GROUP_HASH, - "1.3.10" } -, { "HSETNX", + 5, + "2.0.0" }, + { "HSETNX", "key field value", "Set the value of a hash field, only if the field does not exist", - COMMAND_GROUP_HASH, - "1.3.8" } -, { "HVALS", + 5, + "2.0.0" }, + { "HVALS", "key", "Get all the values in a hash", - COMMAND_GROUP_HASH, - "1.3.10" } -, { "INCR", + 5, + "2.0.0" }, + { "INCR", "key", "Increment the integer value of a key by one", - COMMAND_GROUP_STRING, - "0.07" } -, { "INCRBY", + 1, + "1.0.0" }, + { "INCRBY", + "key increment", + "Increment the integer value of a key by the given amount", + 1, + "1.0.0" }, + { "INCRBYFLOAT", "key increment", - "Increment the integer value of a key by the given number", - COMMAND_GROUP_STRING, - "0.07" } -, { "INFO", + "Increment the float value of a key by the given amount", + 1, + "2.6.0" }, + { "INFO", "-", "Get information and statistics about the server", - COMMAND_GROUP_SERVER, - "0.07" } -, { "KEYS", + 9, + "1.0.0" }, + { "KEYS", "pattern", "Find all keys matching the given pattern", - COMMAND_GROUP_GENERIC, - "0.07" } -, { "LASTSAVE", + 0, + "1.0.0" }, + { "LASTSAVE", "-", "Get the UNIX time stamp of the last successful save to disk", - COMMAND_GROUP_SERVER, - "0.07" } -, { "LINDEX", + 9, + "1.0.0" }, + { "LINDEX", "key index", "Get an element from a list by its index", - COMMAND_GROUP_LIST, - "0.07" } -, { "LINSERT", + 2, + "1.0.0" }, + { "LINSERT", "key BEFORE|AFTER pivot value", "Insert an element before or after another element in a list", - COMMAND_GROUP_LIST, - "2.1.1" } -, { "LLEN", + 2, + "2.2.0" }, + { "LLEN", "key", "Get the length of a list", - COMMAND_GROUP_LIST, - "0.07" } -, { "LPOP", + 2, + "1.0.0" }, + { "LPOP", "key", "Remove and get the first element in a list", - COMMAND_GROUP_LIST, - "0.07" } -, { "LPUSH", - "key value", - "Prepend a value to a list", - COMMAND_GROUP_LIST, - "0.07" } -, { "LPUSHX", + 2, + "1.0.0" }, + { "LPUSH", + "key value [value ...]", + "Prepend one or multiple values to a list", + 2, + "1.0.0" }, + { "LPUSHX", "key value", "Prepend a value to a list, only if the list exists", - COMMAND_GROUP_LIST, - "2.1.1" } -, { "LRANGE", + 2, + "2.2.0" }, + { "LRANGE", "key start stop", "Get a range of elements from a list", - COMMAND_GROUP_LIST, - "0.07" } -, { "LREM", + 2, + "1.0.0" }, + { "LREM", "key count value", "Remove elements from a list", - COMMAND_GROUP_LIST, - "0.07" } -, { "LSET", + 2, + "1.0.0" }, + { "LSET", "key index value", "Set the value of an element in a list by its index", - COMMAND_GROUP_LIST, - "0.07" } -, { "LTRIM", + 2, + "1.0.0" }, + { "LTRIM", "key start stop", "Trim a list to the specified range", - COMMAND_GROUP_LIST, - "0.07" } -, { "MGET", + 2, + "1.0.0" }, + { "MGET", "key [key ...]", "Get the values of all the given keys", - COMMAND_GROUP_STRING, - "0.07" } -, { "MONITOR", + 1, + "1.0.0" }, + { "MIGRATE", + "host port key destination-db timeout", + "Atomically transfer a key from a Redis instance to another one.", + 0, + "2.6.0" }, + { "MONITOR", "-", "Listen for all requests received by the server in real time", - COMMAND_GROUP_SERVER, - "0.07" } -, { "MOVE", + 9, + "1.0.0" }, + { "MOVE", "key db", "Move a key to another database", - COMMAND_GROUP_GENERIC, - "0.07" } -, { "MSET", + 0, + "1.0.0" }, + { "MSET", "key value [key value ...]", "Set multiple keys to multiple values", - COMMAND_GROUP_STRING, - "1.001" } -, { "MSETNX", + 1, + "1.0.1" }, + { "MSETNX", "key value [key value ...]", "Set multiple keys to multiple values, only if none of the keys exist", - COMMAND_GROUP_STRING, - "1.001" } -, { "MULTI", + 1, + "1.0.1" }, + { "MULTI", "-", "Mark the start of a transaction block", - COMMAND_GROUP_TRANSACTIONS, - "1.1.95" } -, { "PERSIST", + 7, + "1.2.0" }, + { "OBJECT", + "subcommand [arguments [arguments ...]]", + "Inspect the internals of Redis objects", + 0, + "2.2.3" }, + { "PERSIST", "key", "Remove the expiration from a key", - COMMAND_GROUP_GENERIC, - "2.1.2" } -, { "PING", + 0, + "2.2.0" }, + { "PEXPIRE", + "key milliseconds", + "Set a key's time to live in milliseconds", + 0, + "2.6.0" }, + { "PEXPIREAT", + "key milliseconds-timestamp", + "Set the expiration for a key as a UNIX timestamp specified in milliseconds", + 0, + "2.6.0" }, + { "PING", "-", "Ping the server", - COMMAND_GROUP_CONNECTION, - "0.07" } -, { "PSUBSCRIBE", - "pattern", + 8, + "1.0.0" }, + { "PSETEX", + "key milliseconds value", + "Set the value and expiration in milliseconds of a key", + 1, + "2.6.0" }, + { "PSUBSCRIBE", + "pattern [pattern ...]", "Listen for messages published to channels matching the given patterns", - COMMAND_GROUP_PUBSUB, - "1.3.8" } -, { "PUBLISH", + 6, + "2.0.0" }, + { "PTTL", + "key", + "Get the time to live for a key in milliseconds", + 0, + "2.6.0" }, + { "PUBLISH", "channel message", "Post a message to a channel", - COMMAND_GROUP_PUBSUB, - "1.3.8" } -, { "PUNSUBSCRIBE", + 6, + "2.0.0" }, + { "PUNSUBSCRIBE", "[pattern [pattern ...]]", "Stop listening for messages posted to channels matching the given patterns", - COMMAND_GROUP_PUBSUB, - "1.3.8" } -, { "QUIT", + 6, + "2.0.0" }, + { "QUIT", "-", "Close the connection", - COMMAND_GROUP_CONNECTION, - "0.07" } -, { "RANDOMKEY", + 8, + "1.0.0" }, + { "RANDOMKEY", "-", "Return a random key from the keyspace", - COMMAND_GROUP_GENERIC, - "0.07" } -, { "RENAME", - "old new", + 0, + "1.0.0" }, + { "RENAME", + "key newkey", "Rename a key", - COMMAND_GROUP_GENERIC, - "0.07" } -, { "RENAMENX", - "old new", + 0, + "1.0.0" }, + { "RENAMENX", + "key newkey", "Rename a key, only if the new key does not exist", - COMMAND_GROUP_GENERIC, - "0.07" } -, { "RPOP", + 0, + "1.0.0" }, + { "RESTORE", + "key ttl serialized-value", + "Create a key using the provided serialized value, previously obtained using DUMP.", + 0, + "2.6.0" }, + { "RPOP", "key", "Remove and get the last element in a list", - COMMAND_GROUP_LIST, - "0.07" } -, { "RPOPLPUSH", + 2, + "1.0.0" }, + { "RPOPLPUSH", "source destination", "Remove the last element in a list, append it to another list and return it", - COMMAND_GROUP_LIST, - "1.1" } -, { "RPUSH", - "key value", - "Append a value to a list", - COMMAND_GROUP_LIST, - "0.07" } -, { "RPUSHX", + 2, + "1.2.0" }, + { "RPUSH", + "key value [value ...]", + "Append one or multiple values to a list", + 2, + "1.0.0" }, + { "RPUSHX", "key value", "Append a value to a list, only if the list exists", - COMMAND_GROUP_LIST, - "2.1.1" } -, { "SADD", - "key member", - "Add a member to a set", - COMMAND_GROUP_SET, - "0.07" } -, { "SAVE", + 2, + "2.2.0" }, + { "SADD", + "key member [member ...]", + "Add one or more members to a set", + 3, + "1.0.0" }, + { "SAVE", "-", "Synchronously save the dataset to disk", - COMMAND_GROUP_SERVER, - "0.07" } -, { "SCARD", + 9, + "1.0.0" }, + { "SCARD", "key", "Get the number of members in a set", - COMMAND_GROUP_SET, - "0.07" } -, { "SDIFF", + 3, + "1.0.0" }, + { "SCRIPT EXISTS", + "script [script ...]", + "Check existence of scripts in the script cache.", + 10, + "2.6.0" }, + { "SCRIPT FLUSH", + "-", + "Remove all the scripts from the script cache.", + 10, + "2.6.0" }, + { "SCRIPT KILL", + "-", + "Kill the script currently in execution.", + 10, + "2.6.0" }, + { "SCRIPT LOAD", + "script", + "Load the specified Lua script into the script cache.", + 10, + "2.6.0" }, + { "SDIFF", "key [key ...]", "Subtract multiple sets", - COMMAND_GROUP_SET, - "0.100" } -, { "SDIFFSTORE", + 3, + "1.0.0" }, + { "SDIFFSTORE", "destination key [key ...]", "Subtract multiple sets and store the resulting set in a key", - COMMAND_GROUP_SET, - "0.100" } -, { "SELECT", + 3, + "1.0.0" }, + { "SELECT", "index", "Change the selected database for the current connection", - COMMAND_GROUP_CONNECTION, - "0.07" } -, { "SET", + 8, + "1.0.0" }, + { "SET", "key value", "Set the string value of a key", - COMMAND_GROUP_STRING, - "0.07" } -, { "SETEX", - "key timestamp value", + 1, + "1.0.0" }, + { "SETBIT", + "key offset value", + "Sets or clears the bit at offset in the string value stored at key", + 1, + "2.2.0" }, + { "SETEX", + "key seconds value", "Set the value and expiration of a key", - COMMAND_GROUP_STRING, - "1.3.10" } -, { "SETNX", + 1, + "2.0.0" }, + { "SETNX", "key value", "Set the value of a key, only if the key does not exist", - COMMAND_GROUP_STRING, - "0.07" } -, { "SHUTDOWN", - "-", + 1, + "1.0.0" }, + { "SETRANGE", + "key offset value", + "Overwrite part of a string at key starting at the specified offset", + 1, + "2.2.0" }, + { "SHUTDOWN", + "[NOSAVE] [SAVE]", "Synchronously save the dataset to disk and then shut down the server", - COMMAND_GROUP_SERVER, - "0.07" } -, { "SINTER", + 9, + "1.0.0" }, + { "SINTER", "key [key ...]", "Intersect multiple sets", - COMMAND_GROUP_SET, - "0.07" } -, { "SINTERSTORE", + 3, + "1.0.0" }, + { "SINTERSTORE", "destination key [key ...]", "Intersect multiple sets and store the resulting set in a key", - COMMAND_GROUP_SET, - "0.07" } -, { "SISMEMBER", + 3, + "1.0.0" }, + { "SISMEMBER", "key member", "Determine if a given value is a member of a set", - COMMAND_GROUP_SET, - "0.07" } -, { "SLAVEOF", + 3, + "1.0.0" }, + { "SLAVEOF", "host port", "Make the server a slave of another instance, or promote it as master", - COMMAND_GROUP_SERVER, - "0.100" } -, { "SMEMBERS", + 9, + "1.0.0" }, + { "SLOWLOG", + "subcommand [argument]", + "Manages the Redis slow queries log", + 9, + "2.2.12" }, + { "SMEMBERS", "key", "Get all the members in a set", - COMMAND_GROUP_SET, - "0.07" } -, { "SMOVE", + 3, + "1.0.0" }, + { "SMOVE", "source destination member", "Move a member from one set to another", - COMMAND_GROUP_SET, - "0.091" } -, { "SORT", - "key [BY pattern] [LIMIT start count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]", + 3, + "1.0.0" }, + { "SORT", + "key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]", "Sort the elements in a list, set or sorted set", - COMMAND_GROUP_GENERIC, - "0.07" } -, { "SPOP", + 0, + "1.0.0" }, + { "SPOP", "key", "Remove and return a random member from a set", - COMMAND_GROUP_SET, - "0.101" } -, { "SRANDMEMBER", - "key", - "Get a random member from a set", - COMMAND_GROUP_SET, - "1.001" } -, { "SREM", - "key member", - "Remove a member from a set", - COMMAND_GROUP_SET, - "0.07" } -, { "STRLEN", + 3, + "1.0.0" }, + { "SRANDMEMBER", + "key [count]", + "Get one or multiple random members from a set", + 3, + "1.0.0" }, + { "SREM", + "key member [member ...]", + "Remove one or more members from a set", + 3, + "1.0.0" }, + { "STRLEN", "key", "Get the length of the value stored in a key", - COMMAND_GROUP_STRING, - "2.1.2" } -, { "SUBSCRIBE", - "channel", + 1, + "2.2.0" }, + { "SUBSCRIBE", + "channel [channel ...]", "Listen for messages published to the given channels", - COMMAND_GROUP_PUBSUB, - "1.3.8" } -, { "SUBSTR", - "key start stop", - "Get a substring of the string stored at a key", - COMMAND_GROUP_STRING, - "1.3.4" } -, { "SUNION", + 6, + "2.0.0" }, + { "SUNION", "key [key ...]", "Add multiple sets", - COMMAND_GROUP_SET, - "0.091" } -, { "SUNIONSTORE", + 3, + "1.0.0" }, + { "SUNIONSTORE", "destination key [key ...]", "Add multiple sets and store the resulting set in a key", - COMMAND_GROUP_SET, - "0.091" } -, { "SYNC", + 3, + "1.0.0" }, + { "SYNC", "-", "Internal command used for replication", - COMMAND_GROUP_SERVER, - "0.07" } -, { "TTL", + 9, + "1.0.0" }, + { "TIME", + "-", + "Return the current server time", + 9, + "2.6.0" }, + { "TTL", "key", "Get the time to live for a key", - COMMAND_GROUP_GENERIC, - "0.100" } -, { "TYPE", + 0, + "1.0.0" }, + { "TYPE", "key", "Determine the type stored at key", - COMMAND_GROUP_GENERIC, - "0.07" } -, { "UNSUBSCRIBE", + 0, + "1.0.0" }, + { "UNSUBSCRIBE", "[channel [channel ...]]", "Stop listening for messages posted to the given channels", - COMMAND_GROUP_PUBSUB, - "1.3.8" } -, { "UNWATCH", + 6, + "2.0.0" }, + { "UNWATCH", "-", "Forget about all watched keys", - COMMAND_GROUP_TRANSACTIONS, - "2.1.0" } -, { "WATCH", + 7, + "2.2.0" }, + { "WATCH", "key [key ...]", "Watch the given keys to determine execution of the MULTI/EXEC block", - COMMAND_GROUP_TRANSACTIONS, - "2.1.0" } -, { "ZADD", - "key score member", - "Add a member to a sorted set, or update its score if it already exists", - COMMAND_GROUP_SORTED_SET, - "1.1" } -, { "ZCARD", + 7, + "2.2.0" }, + { "ZADD", + "key score member [score] [member]", + "Add one or more members to a sorted set, or update its score if it already exists", + 4, + "1.2.0" }, + { "ZCARD", "key", "Get the number of members in a sorted set", - COMMAND_GROUP_SORTED_SET, - "1.1" } -, { "ZCOUNT", + 4, + "1.2.0" }, + { "ZCOUNT", "key min max", "Count the members in a sorted set with scores within the given values", - COMMAND_GROUP_SORTED_SET, - "1.3.3" } -, { "ZINCRBY", + 4, + "2.0.0" }, + { "ZINCRBY", "key increment member", "Increment the score of a member in a sorted set", - COMMAND_GROUP_SORTED_SET, - "1.1" } -, { "ZINTERSTORE", - "destination key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]", + 4, + "1.2.0" }, + { "ZINTERSTORE", + "destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]", "Intersect multiple sorted sets and store the resulting sorted set in a new key", - COMMAND_GROUP_SORTED_SET, - "1.3.10" } -, { "ZRANGE", - "key start stop", + 4, + "2.0.0" }, + { "ZRANGE", + "key start stop [WITHSCORES]", "Return a range of members in a sorted set, by index", - COMMAND_GROUP_SORTED_SET, - "1.1" } -, { "ZRANGEBYSCORE", - "key min max", + 4, + "1.2.0" }, + { "ZRANGEBYSCORE", + "key min max [WITHSCORES] [LIMIT offset count]", "Return a range of members in a sorted set, by score", - COMMAND_GROUP_SORTED_SET, - "1.050" } -, { "ZRANK", + 4, + "1.0.5" }, + { "ZRANK", "key member", "Determine the index of a member in a sorted set", - COMMAND_GROUP_SORTED_SET, - "1.3.4" } -, { "ZREM", - "key member", - "Remove a member from a sorted set", - COMMAND_GROUP_SORTED_SET, - "1.1" } -, { "ZREMRANGEBYRANK", + 4, + "2.0.0" }, + { "ZREM", + "key member [member ...]", + "Remove one or more members from a sorted set", + 4, + "1.2.0" }, + { "ZREMRANGEBYRANK", "key start stop", "Remove all members in a sorted set within the given indexes", - COMMAND_GROUP_SORTED_SET, - "1.3.4" } -, { "ZREMRANGEBYSCORE", + 4, + "2.0.0" }, + { "ZREMRANGEBYSCORE", "key min max", "Remove all members in a sorted set within the given scores", - COMMAND_GROUP_SORTED_SET, - "1.1" } -, { "ZREVRANGE", - "key start stop", + 4, + "1.2.0" }, + { "ZREVRANGE", + "key start stop [WITHSCORES]", "Return a range of members in a sorted set, by index, with scores ordered from high to low", - COMMAND_GROUP_SORTED_SET, - "1.1" } -, { "ZREVRANK", + 4, + "1.2.0" }, + { "ZREVRANGEBYSCORE", + "key max min [WITHSCORES] [LIMIT offset count]", + "Return a range of members in a sorted set, by score, with scores ordered from high to low", + 4, + "2.2.0" }, + { "ZREVRANK", "key member", "Determine the index of a member in a sorted set, with scores ordered from high to low", - COMMAND_GROUP_SORTED_SET, - "1.3.4" } -, { "ZSCORE", + 4, + "2.0.0" }, + { "ZSCORE", "key member", "Get the score associated with the given member in a sorted set", - COMMAND_GROUP_SORTED_SET, - "1.1" } -, { "ZUNIONSTORE", - "destination key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]", + 4, + "1.2.0" }, + { "ZUNIONSTORE", + "destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]", "Add multiple sorted sets and store the resulting sorted set in a new key", - COMMAND_GROUP_SORTED_SET, - "1.3.10" } - + 4, + "2.0.0" } }; -/* - * Output command help to stdout. - */ - -static void -output_command_help(struct command_help *help) { - printf("\n \x1b[1m%s\x1b[0m \x1b[90m%s\x1b[0m\n", help->name, help->params); - printf(" \x1b[33msummary:\x1b[0m %s\n", help->summary); - printf(" \x1b[33msince:\x1b[0m %s\n", help->since); - printf(" \x1b[33mgroup:\x1b[0m %s\n", command_group_type_names[help->group]); -} - -/* - * Return command group type by name string. - */ - -static command_group_type_t -command_group_type_by_name(const char *name) { - for (int i = 0; i < COMMAND_GROUP_LENGTH; ++i) { - const char *group = command_group_type_names[i]; - if (0 == strcasecmp(name, group)) return i; - } - return 0; -} - -/* - * Output group names. - */ - -static void -output_group_help() { - for (int i = 0; i < COMMAND_GROUP_LENGTH; ++i) { - if (COMMAND_GROUP_UNKNOWN == i) continue; - const char *group = command_group_type_names[i]; - printf(" \x1b[90m-\x1b[0m %s\n", group); - } -} - -/* - * Output all command help, filtering by group or command name. - */ - -static void -output_help(int argc, const char **argv) { - int len = sizeof(command_help) / sizeof(struct command_help); - - if (argc && 0 == strcasecmp("groups", argv[0])) { - output_group_help(); - return; - } - - command_group_type_t group = argc - ? command_group_type_by_name(argv[0]) - : COMMAND_GROUP_UNKNOWN; - - for (int i = 0; i < len; ++i) { - struct command_help help = command_help[i]; - if (argc && !group && 0 != strcasecmp(help.name, argv[0])) continue; - if (group && group != help.group) continue; - output_command_help(&help); - } - puts(""); -} +#endif