diff --git a/src/commands.edn b/src/commands.edn index 0333b57a..74e905de 100644 --- a/src/commands.edn +++ b/src/commands.edn @@ -10,16 +10,16 @@ "COMMAND GETKEYS" {:fn-name "command-getkeys", :fn-docstring "Extract keys given a full Redis command.\n\nCOMMAND GETKEYS \n\nAvailable since: 2.8.13.\n\nTime complexity: O(N) where N is the number of arguments to the command", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["COMMAND" "GETKEYS"], :cluster-key-idx 2} "CLUSTER KEYSLOT" {:fn-name "cluster-keyslot", :fn-docstring "Returns the hash slot of the specified key.\n\nCLUSTER KEYSLOT key\n\nAvailable since: 3.0.0.\n\nTime complexity: O(N) where N is the number of bytes in the key", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["CLUSTER" "KEYSLOT" key], :cluster-key-idx 2} "BITPOS" {:fn-name "bitpos", :fn-docstring "Find first bit set or clear in a string.\n\nBITPOS key bit [start] [end]\n\nAvailable since: 2.8.7.\n\nTime complexity: O(N)", :fn-params-fixed [key bit], :fn-params-more [key bit & args], :req-args-fixed ["BITPOS" key bit], :cluster-key-idx 1} -"XTRIM" {:fn-name "xtrim", :fn-docstring "Trims the stream to (approximately if '~' is passed) a certain size.\n\nXTRIM key MAXLEN [~] count\n\nAvailable since: 5.0.0.\n\nTime complexity: O(log(N)) with N being the number of in the stream prior to trim.", :fn-params-fixed [key strategy], :fn-params-more [key strategy & args], :req-args-fixed ["XTRIM" key strategy], :cluster-key-idx 1} -"XADD" {:fn-name "xadd", :fn-docstring "Appends a new entry to a stream.\n\nXADD key ID field string [field string ...]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(log(N)) with N being the number of items already into the stream.", :fn-params-fixed [key ID field string], :fn-params-more [key ID field string & args], :req-args-fixed ["XADD" key ID field string], :cluster-key-idx 1} +"XTRIM" {:fn-name "xtrim", :fn-docstring "Trims the stream to (approximately if '~' is passed) a certain size.\n\nXTRIM key MAXLEN [~] count\n\nAvailable since: 5.0.0.\n\nTime complexity: O(N), with N being the number of evicted entries. Constant times are very small however, since entries are organized in macro nodes containing multiple entries that can be released with a single deallocation.", :fn-params-fixed [key strategy], :fn-params-more [key strategy & args], :req-args-fixed ["XTRIM" key strategy], :cluster-key-idx 1} +"XADD" {:fn-name "xadd", :fn-docstring "Appends a new entry to a stream.\n\nXADD key ID field string [field string ...]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key ID field string], :fn-params-more [key ID field string & args], :req-args-fixed ["XADD" key ID field string], :cluster-key-idx 1} "SCRIPT LOAD" {:fn-name "script-load", :fn-docstring "Load the specified Lua script into the script cache..\n\nSCRIPT LOAD script\n\nAvailable since: 2.6.0.\n\nTime complexity: O(N) with N being the length in bytes of the script body.", :fn-params-fixed [script], :fn-params-more nil, :req-args-fixed ["SCRIPT" "LOAD" script], :cluster-key-idx 2} -"SLAVEOF" {:fn-name "slaveof", :fn-docstring "Make the server a slave of another instance, or promote it as master.\n\nSLAVEOF host port\n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [host port], :fn-params-more nil, :req-args-fixed ["SLAVEOF" host port], :cluster-key-idx 1} -"CLUSTER FAILOVER" {:fn-name "cluster-failover", :fn-docstring "Forces a slave to perform a manual failover of its master..\n\nCLUSTER FAILOVER [FORCE|TAKEOVER]\n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["CLUSTER" "FAILOVER"], :cluster-key-idx 2} +"SLAVEOF" {:fn-name "slaveof", :fn-docstring "Make the server a replica of another instance, or promote it as master. Deprecated starting with Redis 5. Use REPLICAOF instead..\n\nSLAVEOF host port\n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [host port], :fn-params-more nil, :req-args-fixed ["SLAVEOF" host port], :cluster-key-idx 1} +"CLUSTER FAILOVER" {:fn-name "cluster-failover", :fn-docstring "Forces a replica to perform a manual failover of its master..\n\nCLUSTER FAILOVER [FORCE|TAKEOVER]\n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["CLUSTER" "FAILOVER"], :cluster-key-idx 2} "CLUSTER SET-CONFIG-EPOCH" {:fn-name "cluster-set-config-epoch", :fn-docstring "Set the configuration epoch in a new node.\n\nCLUSTER SET-CONFIG-EPOCH config-epoch\n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [config-epoch], :fn-params-more nil, :req-args-fixed ["CLUSTER" "SET-CONFIG-EPOCH" config-epoch], :cluster-key-idx 2} "EXPIREAT" {:fn-name "expireat", :fn-docstring "Set the expiration for a key as a UNIX timestamp.\n\nEXPIREAT key timestamp\n\nAvailable since: 1.2.0.\n\nTime complexity: O(1)", :fn-params-fixed [key timestamp], :fn-params-more nil, :req-args-fixed ["EXPIREAT" key timestamp], :cluster-key-idx 1} "OBJECT" {:fn-name "object", :fn-docstring "Inspect the internals of Redis objects.\n\nOBJECT subcommand [arguments [arguments ...]]\n\nAvailable since: 2.2.3.\n\nTime complexity: O(1) for all the currently implemented subcommands.", :fn-params-fixed [subcommand], :fn-params-more [subcommand & args], :req-args-fixed ["OBJECT" subcommand], :cluster-key-idx 1} "KEYS" {:fn-name "keys", :fn-docstring "Find all keys matching the given pattern.\n\nKEYS pattern\n\nAvailable since: 1.0.0.\n\nTime complexity: O(N) with N being the number of keys in the database, under the assumption that the key names in the database and the given pattern have limited length.", :fn-params-fixed [pattern], :fn-params-more nil, :req-args-fixed ["KEYS" pattern], :cluster-key-idx 1} -"XINFO" {:fn-name "xinfo", :fn-docstring "Get information on streams and consumer groups.\n\nXINFO [CONSUMERS key groupname] [GROUPS key] [STREAM key] [HELP]\n\nAvailable since: 5.0.0.\n\nTime complexity: ", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["XINFO"], :cluster-key-idx 1} +"XINFO" {:fn-name "xinfo", :fn-docstring "Get information on streams and consumer groups.\n\nXINFO [CONSUMERS key groupname] [GROUPS key] [STREAM key] [HELP]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(N) with N being the number of returned items for the subcommands CONSUMERS and GROUPS. The STREAM subcommand is O(log N) with N being the number of items in the stream.", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["XINFO"], :cluster-key-idx 1} "SETNX" {:fn-name "setnx", :fn-docstring "Set the value of a key, only if the key does not exist.\n\nSETNX key value\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key value], :fn-params-more nil, :req-args-fixed ["SETNX" key value], :cluster-key-idx 1} "MEMORY MALLOC-STATS" {:fn-name "memory-malloc-stats", :fn-docstring "Show allocator internal stats.\n\nMEMORY MALLOC-STATS \n\nAvailable since: 4.0.0.\n\n", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["MEMORY" "MALLOC-STATS"], :cluster-key-idx 2} "HSTRLEN" {:fn-name "hstrlen", :fn-docstring "Get the length of the value of a hash field.\n\nHSTRLEN key field\n\nAvailable since: 3.2.0.\n\nTime complexity: O(1)", :fn-params-fixed [key field], :fn-params-more nil, :req-args-fixed ["HSTRLEN" key field], :cluster-key-idx 1} @@ -41,7 +41,7 @@ "SUBSCRIBE" {:fn-name "subscribe", :fn-docstring "Listen for messages published to the given channels.\n\nSUBSCRIBE channel [channel ...]\n\nAvailable since: 2.0.0.\n\nTime complexity: O(N) where N is the number of channels to subscribe to.", :fn-params-fixed [channel], :fn-params-more [channel & args], :req-args-fixed ["SUBSCRIBE" channel], :cluster-key-idx 1} "SETRANGE" {:fn-name "setrange", :fn-docstring "Overwrite part of a string at key starting at the specified offset.\n\nSETRANGE key offset value\n\nAvailable since: 2.2.0.\n\nTime complexity: O(1), not counting the time taken to copy the new string in place. Usually, this string is very small so the amortized complexity is O(1). Otherwise, complexity is O(M) with M being the length of the value argument.", :fn-params-fixed [key offset value], :fn-params-more nil, :req-args-fixed ["SETRANGE" key offset value], :cluster-key-idx 1} "UNSUBSCRIBE" {:fn-name "unsubscribe", :fn-docstring "Stop listening for messages posted to the given channels.\n\nUNSUBSCRIBE [channel [channel ...]]\n\nAvailable since: 2.0.0.\n\nTime complexity: O(N) where N is the number of clients already subscribed to a channel.", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["UNSUBSCRIBE"], :cluster-key-idx 1} -"XREADGROUP" {:fn-name "xreadgroup", :fn-docstring "Return new entries from a stream using a consumer group, or access the history of the pending entries for a given consumer. Can block..\n\nXREADGROUP GROUP group consumer [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] ID [ID ...]\n\nAvailable since: 5.0.0.\n\nTime complexity: For each stream mentioned: O(log(N)+M) with N being the number of elements in the stream and M the number of elements being returned. If M is constant (e.g. always asking for the first 10 elements with COUNT), you can consider it O(log(N)). On the other side, XADD will pay the O(N) time in order to serve the N clients blocked on the stream getting new data.", :fn-params-fixed [group consumer], :fn-params-more [group consumer & args], :req-args-fixed ["XREADGROUP" group consumer], :cluster-key-idx 1} +"XREADGROUP" {:fn-name "xreadgroup", :fn-docstring "Return new entries from a stream using a consumer group, or access the history of the pending entries for a given consumer. Can block..\n\nXREADGROUP GROUP group consumer [COUNT count] [BLOCK milliseconds] [NOACK] STREAMS key [key ...] ID [ID ...]\n\nAvailable since: 5.0.0.\n\nTime complexity: For each stream mentioned: O(M) with M being the number of elements returned. If M is constant (e.g. always asking for the first 10 elements with COUNT), you can consider it O(1). On the other side when XREADGROUP blocks, XADD will pay the O(N) time in order to serve the N clients blocked on the stream getting new data.", :fn-params-fixed [group consumer], :fn-params-more [group consumer & args], :req-args-fixed ["XREADGROUP" group consumer], :cluster-key-idx 1} "ZCARD" {:fn-name "zcard", :fn-docstring "Get the number of members in a sorted set.\n\nZCARD key\n\nAvailable since: 1.2.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["ZCARD" key], :cluster-key-idx 1} "HMSET" {:fn-name "hmset", :fn-docstring "Set multiple hash fields to multiple values.\n\nHMSET key field value [field value ...]\n\nAvailable since: 2.0.0.\n\nTime complexity: O(N) where N is the number of fields being set.", :fn-params-fixed [key field value], :fn-params-more [key field value & args], :req-args-fixed ["HMSET" key field value], :cluster-key-idx 1} "ZINCRBY" {:fn-name "zincrby", :fn-docstring "Increment the score of a member in a sorted set.\n\nZINCRBY key increment member\n\nAvailable since: 1.2.0.\n\nTime complexity: O(log(N)) where N is the number of elements in the sorted set.", :fn-params-fixed [key increment member], :fn-params-more nil, :req-args-fixed ["ZINCRBY" key increment member], :cluster-key-idx 1} @@ -67,7 +67,7 @@ "PFADD" {:fn-name "pfadd", :fn-docstring "Adds the specified elements to the specified HyperLogLog..\n\nPFADD key element [element ...]\n\nAvailable since: 2.8.9.\n\nTime complexity: O(1) to add every element.", :fn-params-fixed [key element], :fn-params-more [key element & args], :req-args-fixed ["PFADD" key element], :cluster-key-idx 1} "PFCOUNT" {:fn-name "pfcount", :fn-docstring "Return the approximated cardinality of the set(s) observed by the HyperLogLog at key(s)..\n\nPFCOUNT key [key ...]\n\nAvailable since: 2.8.9.\n\nTime complexity: O(1) with a very small average constant time when called with a single key. O(N) with N being the number of keys, and much bigger constant times, when called with multiple keys.", :fn-params-fixed [key], :fn-params-more [key & args], :req-args-fixed ["PFCOUNT" key], :cluster-key-idx 1} "CLUSTER INFO" {:fn-name "cluster-info", :fn-docstring "Provides info about Redis Cluster node state.\n\nCLUSTER INFO \n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["CLUSTER" "INFO"], :cluster-key-idx 2} -"CLUSTER SLAVES" {:fn-name "cluster-slaves", :fn-docstring "List slave nodes of the specified master node.\n\nCLUSTER SLAVES node-id\n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [node-id], :fn-params-more nil, :req-args-fixed ["CLUSTER" "SLAVES" node-id], :cluster-key-idx 2} +"CLUSTER SLAVES" {:fn-name "cluster-slaves", :fn-docstring "List replica nodes of the specified master node.\n\nCLUSTER SLAVES node-id\n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [node-id], :fn-params-more nil, :req-args-fixed ["CLUSTER" "SLAVES" node-id], :cluster-key-idx 2} "SWAPDB" {:fn-name "swapdb", :fn-docstring "Swaps two Redis databases.\n\nSWAPDB index index\n\nAvailable since: 4.0.0.\n\n", :fn-params-fixed [index index], :fn-params-more nil, :req-args-fixed ["SWAPDB" index index], :cluster-key-idx 1} "HSCAN" {:fn-name "hscan", :fn-docstring "Incrementally iterate hash fields and associated values.\n\nHSCAN key cursor [MATCH pattern] [COUNT count]\n\nAvailable since: 2.8.0.\n\nTime complexity: O(1) for every call. O(N) for a complete iteration, including enough command calls for the cursor to return back to 0. N is the number of elements inside the collection..", :fn-params-fixed [key cursor], :fn-params-more [key cursor & args], :req-args-fixed ["HSCAN" key cursor], :cluster-key-idx 1} "FLUSHDB" {:fn-name "flushdb", :fn-docstring "Remove all keys from the current database.\n\nFLUSHDB [ASYNC]\n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["FLUSHDB"], :cluster-key-idx 1} @@ -75,11 +75,12 @@ "ZSCAN" {:fn-name "zscan", :fn-docstring "Incrementally iterate sorted sets elements and associated scores.\n\nZSCAN key cursor [MATCH pattern] [COUNT count]\n\nAvailable since: 2.8.0.\n\nTime complexity: O(1) for every call. O(N) for a complete iteration, including enough command calls for the cursor to return back to 0. N is the number of elements inside the collection..", :fn-params-fixed [key cursor], :fn-params-more [key cursor & args], :req-args-fixed ["ZSCAN" key cursor], :cluster-key-idx 1} "PERSIST" {:fn-name "persist", :fn-docstring "Remove the expiration from a key.\n\nPERSIST key\n\nAvailable since: 2.2.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["PERSIST" key], :cluster-key-idx 1} "ZSCORE" {:fn-name "zscore", :fn-docstring "Get the score associated with the given member in a sorted set.\n\nZSCORE key member\n\nAvailable since: 1.2.0.\n\nTime complexity: O(1)", :fn-params-fixed [key member], :fn-params-more nil, :req-args-fixed ["ZSCORE" key member], :cluster-key-idx 1} -"XDEL" {:fn-name "xdel", :fn-docstring "Removes the specified entries from the stream. Returns the number of items actually deleted, that may be different from the number of IDs passed in case certain IDs do not exist..\n\nXDEL key ID [ID ...]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(log(N)) with N being the number of items in the stream.", :fn-params-fixed [key ID], :fn-params-more [key ID & args], :req-args-fixed ["XDEL" key ID], :cluster-key-idx 1} +"CLUSTER REPLICAS" {:fn-name "cluster-replicas", :fn-docstring "List replica nodes of the specified master node.\n\nCLUSTER REPLICAS node-id\n\nAvailable since: 5.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [node-id], :fn-params-more nil, :req-args-fixed ["CLUSTER" "REPLICAS" node-id], :cluster-key-idx 2} +"XDEL" {:fn-name "xdel", :fn-docstring "Removes the specified entries from the stream. Returns the number of items actually deleted, that may be different from the number of IDs passed in case certain IDs do not exist..\n\nXDEL key ID [ID ...]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(1) for each single item to delete in the stream, regardless of the stream size.", :fn-params-fixed [key ID], :fn-params-more [key ID & args], :req-args-fixed ["XDEL" key ID], :cluster-key-idx 1} "DEBUG OBJECT" {:fn-name "debug-object", :fn-docstring "Get debugging information about a key.\n\nDEBUG OBJECT key\n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["DEBUG" "OBJECT" key], :cluster-key-idx 2} "SPOP" {:fn-name "spop", :fn-docstring "Remove and return one or multiple random members from a set.\n\nSPOP key [count]\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more [key & args], :req-args-fixed ["SPOP" key], :cluster-key-idx 1} "ZPOPMIN" {:fn-name "zpopmin", :fn-docstring "Remove and return members with the lowest scores in a sorted set.\n\nZPOPMIN key [count]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(log(N)*M) with N being the number of elements in the sorted set, and M being the number of elements popped.", :fn-params-fixed [key], :fn-params-more [key & args], :req-args-fixed ["ZPOPMIN" key], :cluster-key-idx 1} -"XGROUP" {:fn-name "xgroup", :fn-docstring "Create, destroy, and manage consumer groups..\n\nXGROUP [CREATE key groupname id-or-$] [SETID key id-or-$] [DESTROY key groupname] [DELCONSUMER key groupname consumername]\n\nAvailable since: 5.0.0.\n\nTime complexity: ", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["XGROUP"], :cluster-key-idx 1} +"XGROUP" {:fn-name "xgroup", :fn-docstring "Create, destroy, and manage consumer groups..\n\nXGROUP [CREATE key groupname id-or-$] [SETID key groupname id-or-$] [DESTROY key groupname] [DELCONSUMER key groupname consumername]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(1) for all the subcommands, with the exception of the DESTROY subcommand which takes an additional O(M) time in order to delete the M entries inside the consumer group pending entries list (PEL).", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["XGROUP"], :cluster-key-idx 1} "MEMORY USAGE" {:fn-name "memory-usage", :fn-docstring "Estimate the memory usage of a key.\n\nMEMORY USAGE key [SAMPLES count]\n\nAvailable since: 4.0.0.\n\nTime complexity: O(N) where N is the number of samples.", :fn-params-fixed [key], :fn-params-more [key & args], :req-args-fixed ["MEMORY" "USAGE" key], :cluster-key-idx 2} "BRPOPLPUSH" {:fn-name "brpoplpush", :fn-docstring "Pop a value from a list, push it to another list and return it; or block until one is available.\n\nBRPOPLPUSH source destination timeout\n\nAvailable since: 2.2.0.\n\nTime complexity: O(1)", :fn-params-fixed [source destination timeout], :fn-params-more nil, :req-args-fixed ["BRPOPLPUSH" source destination timeout], :cluster-key-idx 1} "AUTH" {:fn-name "auth", :fn-docstring "Authenticate to the server.\n\nAUTH password\n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [password], :fn-params-more nil, :req-args-fixed ["AUTH" password], :cluster-key-idx 1} @@ -87,14 +88,16 @@ "CLUSTER FORGET" {:fn-name "cluster-forget", :fn-docstring "Remove a node from the nodes table.\n\nCLUSTER FORGET node-id\n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [node-id], :fn-params-more nil, :req-args-fixed ["CLUSTER" "FORGET" node-id], :cluster-key-idx 2} "CLUSTER SLOTS" {:fn-name "cluster-slots", :fn-docstring "Get array of Cluster slot to node mappings.\n\nCLUSTER SLOTS \n\nAvailable since: 3.0.0.\n\nTime complexity: O(N) where N is the total number of Cluster nodes", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["CLUSTER" "SLOTS"], :cluster-key-idx 2} "GEOPOS" {:fn-name "geopos", :fn-docstring "Returns longitude and latitude of members of a geospatial index.\n\nGEOPOS key member [member ...]\n\nAvailable since: 3.2.0.\n\nTime complexity: O(log(N)) for each member requested, where N is the number of elements in the sorted set.", :fn-params-fixed [key member], :fn-params-more [key member & args], :req-args-fixed ["GEOPOS" key member], :cluster-key-idx 1} +"CLIENT ID" {:fn-name "client-id", :fn-docstring "Returns the client ID for the current connection.\n\nCLIENT ID \n\nAvailable since: 5.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["CLIENT" "ID"], :cluster-key-idx 2} "PEXPIREAT" {:fn-name "pexpireat", :fn-docstring "Set the expiration for a key as a UNIX timestamp specified in milliseconds.\n\nPEXPIREAT key milliseconds-timestamp\n\nAvailable since: 2.6.0.\n\nTime complexity: O(1)", :fn-params-fixed [key milliseconds-timestamp], :fn-params-more nil, :req-args-fixed ["PEXPIREAT" key milliseconds-timestamp], :cluster-key-idx 1} "SSCAN" {:fn-name "sscan", :fn-docstring "Incrementally iterate Set elements.\n\nSSCAN key cursor [MATCH pattern] [COUNT count]\n\nAvailable since: 2.8.0.\n\nTime complexity: O(1) for every call. O(N) for a complete iteration, including enough command calls for the cursor to return back to 0. N is the number of elements inside the collection..", :fn-params-fixed [key cursor], :fn-params-more [key cursor & args], :req-args-fixed ["SSCAN" key cursor], :cluster-key-idx 1} "HEXISTS" {:fn-name "hexists", :fn-docstring "Determine if a hash field exists.\n\nHEXISTS key field\n\nAvailable since: 2.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key field], :fn-params-more nil, :req-args-fixed ["HEXISTS" key field], :cluster-key-idx 1} -"XREAD" {:fn-name "xread", :fn-docstring "Return never seen elements in multiple streams, with IDs greater than the ones reported by the caller for each stream. Can block..\n\nXREAD [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] ID [ID ...]\n\nAvailable since: 5.0.0.\n\nTime complexity: For each stream mentioned: O(log(N)+M) with N being the number of elements in the stream and M the number of elements being returned. If M is constant (e.g. always asking for the first 10 elements with COUNT), you can consider it O(log(N)). On the other side, XADD will pay the O(N) time in order to serve the N clients blocked on the stream getting new data.", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["XREAD"], :cluster-key-idx 1} +"XREAD" {:fn-name "xread", :fn-docstring "Return never seen elements in multiple streams, with IDs greater than the ones reported by the caller for each stream. Can block..\n\nXREAD [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] ID [ID ...]\n\nAvailable since: 5.0.0.\n\nTime complexity: For each stream mentioned: O(N) with N being the number of elements being returned, it menas that XREAD-ing with a fixed COUNT is O(1). Note that when the BLOCK option is used, XADD will pay O(M) time in order to serve the M clients blocked on the stream getting new data.", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["XREAD"], :cluster-key-idx 1} "TTL" {:fn-name "ttl", :fn-docstring "Get the time to live for a key.\n\nTTL key\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["TTL" key], :cluster-key-idx 1} "BGREWRITEAOF" {:fn-name "bgrewriteaof", :fn-docstring "Asynchronously rewrite the append-only file.\n\nBGREWRITEAOF \n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["BGREWRITEAOF"], :cluster-key-idx 1} "CLUSTER SAVECONFIG" {:fn-name "cluster-saveconfig", :fn-docstring "Forces the node to save cluster state on disk.\n\nCLUSTER SAVECONFIG \n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["CLUSTER" "SAVECONFIG"], :cluster-key-idx 2} "COMMAND COUNT" {:fn-name "command-count", :fn-docstring "Get total number of Redis commands.\n\nCOMMAND COUNT \n\nAvailable since: 2.8.13.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["COMMAND" "COUNT"], :cluster-key-idx 2} +"CLIENT UNBLOCK" {:fn-name "client-unblock", :fn-docstring "Unblock a client blocked in a blocking command from a different connection.\n\nCLIENT UNBLOCK client-id [TIMEOUT|ERROR]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(log N) where N is the number of client connections", :fn-params-fixed [client-id], :fn-params-more [client-id & args], :req-args-fixed ["CLIENT" "UNBLOCK" client-id], :cluster-key-idx 2} "RPOPLPUSH" {:fn-name "rpoplpush", :fn-docstring "Remove the last element in a list, prepend it to another list and return it.\n\nRPOPLPUSH source destination\n\nAvailable since: 1.2.0.\n\nTime complexity: O(1)", :fn-params-fixed [source destination], :fn-params-more nil, :req-args-fixed ["RPOPLPUSH" source destination], :cluster-key-idx 1} "PFMERGE" {:fn-name "pfmerge", :fn-docstring "Merge N different HyperLogLogs into a single one..\n\nPFMERGE destkey sourcekey [sourcekey ...]\n\nAvailable since: 2.8.9.\n\nTime complexity: O(N) to merge N HyperLogLogs, but with high constant times.", :fn-params-fixed [destkey sourcekey], :fn-params-more [destkey sourcekey & args], :req-args-fixed ["PFMERGE" destkey sourcekey], :cluster-key-idx 1} "ECHO" {:fn-name "echo", :fn-docstring "Echo the given string.\n\nECHO message\n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [message], :fn-params-more nil, :req-args-fixed ["ECHO" message], :cluster-key-idx 1} @@ -104,7 +107,7 @@ "PEXPIRE" {:fn-name "pexpire", :fn-docstring "Set a key's time to live in milliseconds.\n\nPEXPIRE key milliseconds\n\nAvailable since: 2.6.0.\n\nTime complexity: O(1)", :fn-params-fixed [key milliseconds], :fn-params-more nil, :req-args-fixed ["PEXPIRE" key milliseconds], :cluster-key-idx 1} "GEOHASH" {:fn-name "geohash", :fn-docstring "Returns members of a geospatial index as standard geohash strings.\n\nGEOHASH key member [member ...]\n\nAvailable since: 3.2.0.\n\nTime complexity: O(log(N)) for each member requested, where N is the number of elements in the sorted set.", :fn-params-fixed [key member], :fn-params-more [key member & args], :req-args-fixed ["GEOHASH" key member], :cluster-key-idx 1} "HSETNX" {:fn-name "hsetnx", :fn-docstring "Set the value of a hash field, only if the field does not exist.\n\nHSETNX key field value\n\nAvailable since: 2.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key field value], :fn-params-more nil, :req-args-fixed ["HSETNX" key field value], :cluster-key-idx 1} -"READONLY" {:fn-name "readonly", :fn-docstring "Enables read queries for a connection to a cluster slave node.\n\nREADONLY \n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["READONLY"], :cluster-key-idx 1} +"READONLY" {:fn-name "readonly", :fn-docstring "Enables read queries for a connection to a cluster replica node.\n\nREADONLY \n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["READONLY"], :cluster-key-idx 1} "CONFIG SET" {:fn-name "config-set", :fn-docstring "Set a configuration parameter to the given value.\n\nCONFIG SET parameter value\n\nAvailable since: 2.0.0.\n\n", :fn-params-fixed [parameter value], :fn-params-more nil, :req-args-fixed ["CONFIG" "SET" parameter value], :cluster-key-idx 2} "GETRANGE" {:fn-name "getrange", :fn-docstring "Get a substring of the string stored at a key.\n\nGETRANGE key start end\n\nAvailable since: 2.4.0.\n\nTime complexity: O(N) where N is the length of the returned string. The complexity is ultimately determined by the returned length, but because creating a substring from an existing string is very cheap, it can be considered O(1) for small strings.", :fn-params-fixed [key start end], :fn-params-more nil, :req-args-fixed ["GETRANGE" key start end], :cluster-key-idx 1} "DEL" {:fn-name "del", :fn-docstring "Delete a key.\n\nDEL key [key ...]\n\nAvailable since: 1.0.0.\n\nTime complexity: O(N) where N is the number of keys that will be removed. When a key to remove holds a value other than a string, the individual complexity for this key is O(M) where M is the number of elements in the list, set, sorted set or hash. Removing a single key that holds a string value is O(1).", :fn-params-fixed [key], :fn-params-more [key & args], :req-args-fixed ["DEL" key], :cluster-key-idx 1} @@ -121,11 +124,11 @@ "SETBIT" {:fn-name "setbit", :fn-docstring "Sets or clears the bit at offset in the string value stored at key.\n\nSETBIT key offset value\n\nAvailable since: 2.2.0.\n\nTime complexity: O(1)", :fn-params-fixed [key offset value], :fn-params-more nil, :req-args-fixed ["SETBIT" key offset value], :cluster-key-idx 1} "LINSERT" {:fn-name "linsert", :fn-docstring "Insert an element before or after another element in a list.\n\nLINSERT key BEFORE|AFTER pivot value\n\nAvailable since: 2.2.0.\n\nTime complexity: O(N) where N is the number of elements to traverse before seeing the value pivot. This means that inserting somewhere on the left end on the list (head) can be considered O(1) and inserting somewhere on the right end (tail) is O(N).", :fn-params-fixed [key where pivot value], :fn-params-more nil, :req-args-fixed ["LINSERT" key where pivot value], :cluster-key-idx 1} "FLUSHALL" {:fn-name "flushall", :fn-docstring "Remove all keys from all databases.\n\nFLUSHALL [ASYNC]\n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["FLUSHALL"], :cluster-key-idx 1} -"CLUSTER REPLICATE" {:fn-name "cluster-replicate", :fn-docstring "Reconfigure a node as a slave of the specified master node.\n\nCLUSTER REPLICATE node-id\n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [node-id], :fn-params-more nil, :req-args-fixed ["CLUSTER" "REPLICATE" node-id], :cluster-key-idx 2} +"CLUSTER REPLICATE" {:fn-name "cluster-replicate", :fn-docstring "Reconfigure a node as a replica of the specified master node.\n\nCLUSTER REPLICATE node-id\n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [node-id], :fn-params-more nil, :req-args-fixed ["CLUSTER" "REPLICATE" node-id], :cluster-key-idx 2} "SELECT" {:fn-name "select", :fn-docstring "Change the selected database for the current connection.\n\nSELECT index\n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [index], :fn-params-more nil, :req-args-fixed ["SELECT" index], :cluster-key-idx 1} "MGET" {:fn-name "mget", :fn-docstring "Get the values of all the given keys.\n\nMGET key [key ...]\n\nAvailable since: 1.0.0.\n\nTime complexity: O(N) where N is the number of keys to retrieve.", :fn-params-fixed [key], :fn-params-more [key & args], :req-args-fixed ["MGET" key], :cluster-key-idx 1} "MONITOR" {:fn-name "monitor", :fn-docstring "Listen for all requests received by the server in real time.\n\nMONITOR \n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["MONITOR"], :cluster-key-idx 1} -"XCLAIM" {:fn-name "xclaim", :fn-docstring ".\n\nXCLAIM key group consumer min-idle-time ID [ID ...] [IDLE ms] [TIME ms-unix-time] [RETRYCOUNT count] [FORCE] [JUSTID]\n\nAvailable since: 5.0.0.\n\nTime complexity: ", :fn-params-fixed [key group consumer min-idle-time ID], :fn-params-more [key group consumer min-idle-time ID & args], :req-args-fixed ["XCLAIM" key group consumer min-idle-time ID], :cluster-key-idx 1} +"XCLAIM" {:fn-name "xclaim", :fn-docstring "Changes (or acquires) ownership of a message in a consumer group, as if the message was delivered to the specified consumer..\n\nXCLAIM key group consumer min-idle-time ID [ID ...] [IDLE ms] [TIME ms-unix-time] [RETRYCOUNT count] [FORCE] [JUSTID]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(log N) with N being the number of messages in the PEL of the consumer group.", :fn-params-fixed [key group consumer min-idle-time ID], :fn-params-more [key group consumer min-idle-time ID & args], :req-args-fixed ["XCLAIM" key group consumer min-idle-time ID], :cluster-key-idx 1} "CLUSTER COUNT-FAILURE-REPORTS" {:fn-name "cluster-count-failure-reports", :fn-docstring "Return the number of failure reports active for a given node.\n\nCLUSTER COUNT-FAILURE-REPORTS node-id\n\nAvailable since: 3.0.0.\n\nTime complexity: O(N) where N is the number of failure reports", :fn-params-fixed [node-id], :fn-params-more nil, :req-args-fixed ["CLUSTER" "COUNT-FAILURE-REPORTS" node-id], :cluster-key-idx 2} "HSET" {:fn-name "hset", :fn-docstring "Set the string value of a hash field.\n\nHSET key field value\n\nAvailable since: 2.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key field value], :fn-params-more nil, :req-args-fixed ["HSET" key field value], :cluster-key-idx 1} "QUIT" {:fn-name "quit", :fn-docstring "Close the connection.\n\nQUIT \n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["QUIT"], :cluster-key-idx 1} @@ -136,7 +139,7 @@ "TOUCH" {:fn-name "touch", :fn-docstring "Alters the last access time of a key(s). Returns the number of existing keys specified..\n\nTOUCH key [key ...]\n\nAvailable since: 3.2.1.\n\nTime complexity: O(N) where N is the number of keys that will be touched.", :fn-params-fixed [key], :fn-params-more [key & args], :req-args-fixed ["TOUCH" key], :cluster-key-idx 1} "RANDOMKEY" {:fn-name "randomkey", :fn-docstring "Return a random key from the keyspace.\n\nRANDOMKEY \n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["RANDOMKEY"], :cluster-key-idx 1} "LASTSAVE" {:fn-name "lastsave", :fn-docstring "Get the UNIX time stamp of the last successful save to disk.\n\nLASTSAVE \n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["LASTSAVE"], :cluster-key-idx 1} -"XACK" {:fn-name "xack", :fn-docstring "Marks a pending message as correctly processed. Return value of the command is the number of messages successfully acknowledged, that is, the IDs we were actually able to resolve in the PEL..\n\nXACK key group ID [ID ...]\n\nAvailable since: 5.0.0.\n\nTime complexity: ", :fn-params-fixed [key group ID], :fn-params-more [key group ID & args], :req-args-fixed ["XACK" key group ID], :cluster-key-idx 1} +"XACK" {:fn-name "xack", :fn-docstring "Marks a pending message as correctly processed, effectively removing it from the pending entries list of the consumer group. Return value of the command is the number of messages successfully acknowledged, that is, the IDs we were actually able to resolve in the PEL..\n\nXACK key group ID [ID ...]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(1) for each message ID processed.", :fn-params-fixed [key group ID], :fn-params-more [key group ID & args], :req-args-fixed ["XACK" key group ID], :cluster-key-idx 1} "SLOWLOG" {:fn-name "slowlog", :fn-docstring "Manages the Redis slow queries log.\n\nSLOWLOG subcommand [argument]\n\nAvailable since: 2.2.12.\n\n", :fn-params-fixed [subcommand], :fn-params-more [subcommand & args], :req-args-fixed ["SLOWLOG" subcommand], :cluster-key-idx 1} "ZREVRANGE" {:fn-name "zrevrange", :fn-docstring "Return a range of members in a sorted set, by index, with scores ordered from high to low.\n\nZREVRANGE key start stop [WITHSCORES]\n\nAvailable since: 1.2.0.\n\nTime complexity: O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements returned.", :fn-params-fixed [key start stop], :fn-params-more [key start stop & args], :req-args-fixed ["ZREVRANGE" key start stop], :cluster-key-idx 1} "SETEX" {:fn-name "setex", :fn-docstring "Set the value and expiration of a key.\n\nSETEX key seconds value\n\nAvailable since: 2.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key seconds value], :fn-params-more nil, :req-args-fixed ["SETEX" key seconds value], :cluster-key-idx 1} @@ -162,7 +165,7 @@ "SISMEMBER" {:fn-name "sismember", :fn-docstring "Determine if a given value is a member of a set.\n\nSISMEMBER key member\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key member], :fn-params-more nil, :req-args-fixed ["SISMEMBER" key member], :cluster-key-idx 1} "CLUSTER RESET" {:fn-name "cluster-reset", :fn-docstring "Reset a Redis Cluster node.\n\nCLUSTER RESET [HARD|SOFT]\n\nAvailable since: 3.0.0.\n\nTime complexity: O(N) where N is the number of known nodes. The command may execute a FLUSHALL as a side effect.", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["CLUSTER" "RESET"], :cluster-key-idx 2} "CLUSTER DELSLOTS" {:fn-name "cluster-delslots", :fn-docstring "Set hash slots as unbound in receiving node.\n\nCLUSTER DELSLOTS slot [slot ...]\n\nAvailable since: 3.0.0.\n\nTime complexity: O(N) where N is the total number of hash slot arguments", :fn-params-fixed [slot], :fn-params-more [slot & args], :req-args-fixed ["CLUSTER" "DELSLOTS" slot], :cluster-key-idx 2} -"CLIENT LIST" {:fn-name "client-list", :fn-docstring "Get the list of client connections.\n\nCLIENT LIST \n\nAvailable since: 2.4.0.\n\nTime complexity: O(N) where N is the number of client connections", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["CLIENT" "LIST"], :cluster-key-idx 2} +"CLIENT LIST" {:fn-name "client-list", :fn-docstring "Get the list of client connections.\n\nCLIENT LIST [TYPE normal|master|replica|pubsub]\n\nAvailable since: 2.4.0.\n\nTime complexity: O(N) where N is the number of client connections", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["CLIENT" "LIST"], :cluster-key-idx 2} "CLIENT REPLY" {:fn-name "client-reply", :fn-docstring "Instruct the server whether to reply to commands.\n\nCLIENT REPLY ON|OFF|SKIP\n\nAvailable since: 3.2.\n\nTime complexity: O(1)", :fn-params-fixed [reply-mode], :fn-params-more nil, :req-args-fixed ["CLIENT" "REPLY" reply-mode], :cluster-key-idx 2} "DECR" {:fn-name "decr", :fn-docstring "Decrement the integer value of a key by one.\n\nDECR key\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["DECR" key], :cluster-key-idx 1} "MULTI" {:fn-name "multi", :fn-docstring "Mark the start of a transaction block.\n\nMULTI \n\nAvailable since: 1.2.0.\n\n", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["MULTI"], :cluster-key-idx 1} @@ -171,23 +174,23 @@ "SADD" {:fn-name "sadd", :fn-docstring "Add one or more members to a set.\n\nSADD key member [member ...]\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1) for each element added, so O(N) to add N elements when the command is called with multiple arguments.", :fn-params-fixed [key member], :fn-params-more [key member & args], :req-args-fixed ["SADD" key member], :cluster-key-idx 1} "LREM" {:fn-name "lrem", :fn-docstring "Remove elements from a list.\n\nLREM key count value\n\nAvailable since: 1.0.0.\n\nTime complexity: O(N) where N is the length of the list.", :fn-params-fixed [key count value], :fn-params-more nil, :req-args-fixed ["LREM" key count value], :cluster-key-idx 1} "UNWATCH" {:fn-name "unwatch", :fn-docstring "Forget about all watched keys.\n\nUNWATCH \n\nAvailable since: 2.2.0.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["UNWATCH"], :cluster-key-idx 1} -"WAIT" {:fn-name "wait", :fn-docstring "Wait for the synchronous replication of all the write commands sent in the context of the current connection.\n\nWAIT numslaves timeout\n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [numslaves timeout], :fn-params-more nil, :req-args-fixed ["WAIT" numslaves timeout], :cluster-key-idx 1} +"WAIT" {:fn-name "wait", :fn-docstring "Wait for the synchronous replication of all the write commands sent in the context of the current connection.\n\nWAIT numreplicas timeout\n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [numreplicas timeout], :fn-params-more nil, :req-args-fixed ["WAIT" numreplicas timeout], :cluster-key-idx 1} "SINTERSTORE" {:fn-name "sinterstore", :fn-docstring "Intersect multiple sets and store the resulting set in a key.\n\nSINTERSTORE destination key [key ...]\n\nAvailable since: 1.0.0.\n\nTime complexity: O(N*M) worst case where N is the cardinality of the smallest set and M is the number of sets.", :fn-params-fixed [destination key], :fn-params-more [destination key & args], :req-args-fixed ["SINTERSTORE" destination key], :cluster-key-idx 1} "SDIFF" {:fn-name "sdiff", :fn-docstring "Subtract multiple sets.\n\nSDIFF key [key ...]\n\nAvailable since: 1.0.0.\n\nTime complexity: O(N) where N is the total number of elements in all given sets.", :fn-params-fixed [key], :fn-params-more [key & args], :req-args-fixed ["SDIFF" key], :cluster-key-idx 1} "INFO" {:fn-name "info", :fn-docstring "Get information and statistics about the server.\n\nINFO [section]\n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["INFO"], :cluster-key-idx 1} "GEOADD" {:fn-name "geoadd", :fn-docstring "Add one or more geospatial items in the geospatial index represented using a sorted set.\n\nGEOADD key longitude latitude member [longitude latitude member ...]\n\nAvailable since: 3.2.0.\n\nTime complexity: O(log(N)) for each item added, where N is the number of elements in the sorted set.", :fn-params-fixed [key longitude latitude member], :fn-params-more [key longitude latitude member & args], :req-args-fixed ["GEOADD" key longitude latitude member], :cluster-key-idx 1} "LPUSHX" {:fn-name "lpushx", :fn-docstring "Prepend a value to a list, only if the list exists.\n\nLPUSHX key value\n\nAvailable since: 2.2.0.\n\nTime complexity: O(1)", :fn-params-fixed [key value], :fn-params-more nil, :req-args-fixed ["LPUSHX" key value], :cluster-key-idx 1} "APPEND" {:fn-name "append", :fn-docstring "Append a value to a key.\n\nAPPEND key value\n\nAvailable since: 2.0.0.\n\nTime complexity: O(1). The amortized time complexity is O(1) assuming the appended value is small and the already present value is of any size, since the dynamic string library used by Redis will double the free space available on every reallocation.", :fn-params-fixed [key value], :fn-params-more nil, :req-args-fixed ["APPEND" key value], :cluster-key-idx 1} -"XRANGE" {:fn-name "xrange", :fn-docstring "Return a range of elements in a stream, with IDs matching the specified IDs interval.\n\nXRANGE key start end [COUNT count]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(log(N)+M) with N being the number of elements in the stream and M the number of elements being returned. If M is constant (e.g. always asking for the first 10 elements with COUNT), you can consider it O(log(N)).", :fn-params-fixed [key start end], :fn-params-more [key start end & args], :req-args-fixed ["XRANGE" key start end], :cluster-key-idx 1} +"XRANGE" {:fn-name "xrange", :fn-docstring "Return a range of elements in a stream, with IDs matching the specified IDs interval.\n\nXRANGE key start end [COUNT count]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(N) with N being the number of elements being returned. If N is constant (e.g. always asking for the first 10 elements with COUNT), you can consider it O(1).", :fn-params-fixed [key start end], :fn-params-more [key start end & args], :req-args-fixed ["XRANGE" key start end], :cluster-key-idx 1} "HINCRBYFLOAT" {:fn-name "hincrbyfloat", :fn-docstring "Increment the float value of a hash field by the given amount.\n\nHINCRBYFLOAT key field increment\n\nAvailable since: 2.6.0.\n\nTime complexity: O(1)", :fn-params-fixed [key field increment], :fn-params-more nil, :req-args-fixed ["HINCRBYFLOAT" key field increment], :cluster-key-idx 1} "LSET" {:fn-name "lset", :fn-docstring "Set the value of an element in a list by its index.\n\nLSET key index value\n\nAvailable since: 1.0.0.\n\nTime complexity: O(N) where N is the length of the list. Setting either the first or the last element of the list is O(1).", :fn-params-fixed [key index value], :fn-params-more nil, :req-args-fixed ["LSET" key index value], :cluster-key-idx 1} "CLUSTER GETKEYSINSLOT" {:fn-name "cluster-getkeysinslot", :fn-docstring "Return local key names in the specified hash slot.\n\nCLUSTER GETKEYSINSLOT slot count\n\nAvailable since: 3.0.0.\n\nTime complexity: O(log(N)) where N is the number of requested keys", :fn-params-fixed [slot count], :fn-params-more nil, :req-args-fixed ["CLUSTER" "GETKEYSINSLOT" slot count], :cluster-key-idx 2} -"XPENDING" {:fn-name "xpending", :fn-docstring "Return information and entries from a stream consumer group pending entries list, that are messages fetched but never acknowledged..\n\nXPENDING key group [start end count] [consumer]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(log(N)+M) with N being the number of elements in the consumer group pending entries list, and M the number of elements being returned. When the command returns just the summary it runs in O(1) time assuming the list of consumers is small, otherwise there is additional O(N) time needed to iterate every consumer.", :fn-params-fixed [key group], :fn-params-more [key group & args], :req-args-fixed ["XPENDING" key group], :cluster-key-idx 1} +"XPENDING" {:fn-name "xpending", :fn-docstring "Return information and entries from a stream consumer group pending entries list, that are messages fetched but never acknowledged..\n\nXPENDING key group [start end count] [consumer]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(N) with N being the number of elements returned, so asking for a small fixed number of entries per call is O(1). When the command returns just the summary it runs in O(1) time assuming the list of consumers is small, otherwise there is additional O(N) time needed to iterate every consumer.", :fn-params-fixed [key group], :fn-params-more [key group & args], :req-args-fixed ["XPENDING" key group], :cluster-key-idx 1} "ZREVRANK" {:fn-name "zrevrank", :fn-docstring "Determine the index of a member in a sorted set, with scores ordered from high to low.\n\nZREVRANK key member\n\nAvailable since: 2.0.0.\n\nTime complexity: O(log(N))", :fn-params-fixed [key member], :fn-params-more nil, :req-args-fixed ["ZREVRANK" key member], :cluster-key-idx 1} "ZRANK" {:fn-name "zrank", :fn-docstring "Determine the index of a member in a sorted set.\n\nZRANK key member\n\nAvailable since: 2.0.0.\n\nTime complexity: O(log(N))", :fn-params-fixed [key member], :fn-params-more nil, :req-args-fixed ["ZRANK" key member], :cluster-key-idx 1} "BITCOUNT" {:fn-name "bitcount", :fn-docstring "Count set bits in a string.\n\nBITCOUNT key [start end]\n\nAvailable since: 2.6.0.\n\nTime complexity: O(N)", :fn-params-fixed [key], :fn-params-more [key & args], :req-args-fixed ["BITCOUNT" key], :cluster-key-idx 1} "MEMORY DOCTOR" {:fn-name "memory-doctor", :fn-docstring "Outputs memory problems report.\n\nMEMORY DOCTOR \n\nAvailable since: 4.0.0.\n\n", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["MEMORY" "DOCTOR"], :cluster-key-idx 2} -"READWRITE" {:fn-name "readwrite", :fn-docstring "Disables read queries for a connection to a cluster slave node.\n\nREADWRITE \n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["READWRITE"], :cluster-key-idx 1} +"READWRITE" {:fn-name "readwrite", :fn-docstring "Disables read queries for a connection to a cluster replica node.\n\nREADWRITE \n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["READWRITE"], :cluster-key-idx 1} "GETSET" {:fn-name "getset", :fn-docstring "Set the string value of a key and return its old value.\n\nGETSET key value\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key value], :fn-params-more nil, :req-args-fixed ["GETSET" key value], :cluster-key-idx 1} "SCRIPT EXISTS" {:fn-name "script-exists", :fn-docstring "Check existence of scripts in the script cache..\n\nSCRIPT EXISTS sha1 [sha1 ...]\n\nAvailable since: 2.6.0.\n\nTime complexity: O(N) with N being the number of scripts to check (so checking a single script is an O(1) operation).", :fn-params-fixed [sha1], :fn-params-more [sha1 & args], :req-args-fixed ["SCRIPT" "EXISTS" sha1], :cluster-key-idx 2} "CONFIG RESETSTAT" {:fn-name "config-resetstat", :fn-docstring "Reset the stats returned by INFO.\n\nCONFIG RESETSTAT \n\nAvailable since: 2.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["CONFIG" "RESETSTAT"], :cluster-key-idx 2} @@ -198,7 +201,7 @@ "EVALSHA" {:fn-name "evalsha", :fn-docstring "Execute a Lua script server side.\n\nEVALSHA sha1 numkeys key [key ...] arg [arg ...]\n\nAvailable since: 2.6.0.\n\nTime complexity: Depends on the script that is executed.", :fn-params-fixed [sha1 numkeys], :fn-params-more [sha1 numkeys & args], :req-args-fixed ["EVALSHA" sha1 numkeys], :cluster-key-idx 1} "GET" {:fn-name "get", :fn-docstring "Get the value of a key.\n\nGET key\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["GET" key], :cluster-key-idx 1} "HLEN" {:fn-name "hlen", :fn-docstring "Get the number of fields in a hash.\n\nHLEN key\n\nAvailable since: 2.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["HLEN" key], :cluster-key-idx 1} -"XREVRANGE" {:fn-name "xrevrange", :fn-docstring "Return a range of elements in a stream, with IDs matching the specified IDs interval, in reverse order (from greater to smaller IDs) compared to XRANGE.\n\nXREVRANGE key end start [COUNT count]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(log(N)+M) with N being the number of elements in the stream and M the number of elements being returned. If M is constant (e.g. always asking for the first 10 elements with COUNT), you can consider it O(log(N)).", :fn-params-fixed [key end start], :fn-params-more [key end start & args], :req-args-fixed ["XREVRANGE" key end start], :cluster-key-idx 1} +"XREVRANGE" {:fn-name "xrevrange", :fn-docstring "Return a range of elements in a stream, with IDs matching the specified IDs interval, in reverse order (from greater to smaller IDs) compared to XRANGE.\n\nXREVRANGE key end start [COUNT count]\n\nAvailable since: 5.0.0.\n\nTime complexity: O(N) with N being the number of elements returned. If N is constant (e.g. always asking for the first 10 elements with COUNT), you can consider it O(1).", :fn-params-fixed [key end start], :fn-params-more [key end start & args], :req-args-fixed ["XREVRANGE" key end start], :cluster-key-idx 1} "CONFIG REWRITE" {:fn-name "config-rewrite", :fn-docstring "Rewrite the configuration file with the in memory configuration.\n\nCONFIG REWRITE \n\nAvailable since: 2.8.0.\n\n", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["CONFIG" "REWRITE"], :cluster-key-idx 2} "BZPOPMIN" {:fn-name "bzpopmin", :fn-docstring "Remove and return the member with the lowest score from one or more sorted sets, or block until one is available.\n\nBZPOPMIN key [key ...] timeout\n\nAvailable since: 5.0.0.\n\nTime complexity: O(log(N)) with N being the number of elements in the sorted set.", :fn-params-fixed [key], :fn-params-more [key & args], :req-args-fixed ["BZPOPMIN" key], :cluster-key-idx 1} "CLIENT KILL" {:fn-name "client-kill", :fn-docstring "Kill the connection of a client.\n\nCLIENT KILL [ip:port] [ID client-id] [TYPE normal|master|slave|pubsub] [ADDR ip:port] [SKIPME yes/no]\n\nAvailable since: 2.4.0.\n\nTime complexity: O(N) where N is the number of client connections", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["CLIENT" "KILL"], :cluster-key-idx 2} @@ -215,9 +218,10 @@ "ZCOUNT" {:fn-name "zcount", :fn-docstring "Count the members in a sorted set with scores within the given values.\n\nZCOUNT key min max\n\nAvailable since: 2.0.0.\n\nTime complexity: O(log(N)) with N being the number of elements in the sorted set.", :fn-params-fixed [key min max], :fn-params-more nil, :req-args-fixed ["ZCOUNT" key min max], :cluster-key-idx 1} "PUNSUBSCRIBE" {:fn-name "punsubscribe", :fn-docstring "Stop listening for messages posted to channels matching the given patterns.\n\nPUNSUBSCRIBE [pattern [pattern ...]]\n\nAvailable since: 2.0.0.\n\nTime complexity: O(N+M) where N is the number of patterns the client is already subscribed and M is the number of total patterns subscribed in the system (by any client).", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["PUNSUBSCRIBE"], :cluster-key-idx 1} "GETBIT" {:fn-name "getbit", :fn-docstring "Returns the bit value at offset in the string value stored at key.\n\nGETBIT key offset\n\nAvailable since: 2.2.0.\n\nTime complexity: O(1)", :fn-params-fixed [key offset], :fn-params-more nil, :req-args-fixed ["GETBIT" key offset], :cluster-key-idx 1} -"RESTORE" {:fn-name "restore", :fn-docstring "Create a key using the provided serialized value, previously obtained using DUMP..\n\nRESTORE key ttl serialized-value [REPLACE]\n\nAvailable since: 2.6.0.\n\nTime complexity: O(1) to create the new key and additional O(N*M) to reconstruct the serialized value, where N is the number of Redis objects composing the value and M their average size. For small string values the time complexity is thus O(1)+O(1*M) where M is small, so simply O(1). However for sorted set values the complexity is O(N*M*log(N)) because inserting values into sorted sets is O(log(N)).", :fn-params-fixed [key ttl serialized-value], :fn-params-more [key ttl serialized-value & args], :req-args-fixed ["RESTORE" key ttl serialized-value], :cluster-key-idx 1} +"RESTORE" {:fn-name "restore", :fn-docstring "Create a key using the provided serialized value, previously obtained using DUMP..\n\nRESTORE key ttl serialized-value [REPLACE] [ABSTTL] [IDLETIME seconds] [FREQ frequency]\n\nAvailable since: 2.6.0.\n\nTime complexity: O(1) to create the new key and additional O(N*M) to reconstruct the serialized value, where N is the number of Redis objects composing the value and M their average size. For small string values the time complexity is thus O(1)+O(1*M) where M is small, so simply O(1). However for sorted set values the complexity is O(N*M*log(N)) because inserting values into sorted sets is O(log(N)).", :fn-params-fixed [key ttl serialized-value], :fn-params-more [key ttl serialized-value & args], :req-args-fixed ["RESTORE" key ttl serialized-value], :cluster-key-idx 1} "BITOP" {:fn-name "bitop", :fn-docstring "Perform bitwise operations between strings.\n\nBITOP operation destkey key [key ...]\n\nAvailable since: 2.6.0.\n\nTime complexity: O(N)", :fn-params-fixed [operation destkey key], :fn-params-more [operation destkey key & args], :req-args-fixed ["BITOP" operation destkey key], :cluster-key-idx 1} "CLUSTER COUNTKEYSINSLOT" {:fn-name "cluster-countkeysinslot", :fn-docstring "Return the number of local keys in the specified hash slot.\n\nCLUSTER COUNTKEYSINSLOT slot\n\nAvailable since: 3.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [slot], :fn-params-more nil, :req-args-fixed ["CLUSTER" "COUNTKEYSINSLOT" slot], :cluster-key-idx 2} +"REPLICAOF" {:fn-name "replicaof", :fn-docstring "Make the server a replica of another instance, or promote it as master..\n\nREPLICAOF host port\n\nAvailable since: 5.0.0.\n\n", :fn-params-fixed [host port], :fn-params-more nil, :req-args-fixed ["REPLICAOF" host port], :cluster-key-idx 1} "SUNION" {:fn-name "sunion", :fn-docstring "Add multiple sets.\n\nSUNION key [key ...]\n\nAvailable since: 1.0.0.\n\nTime complexity: O(N) where N is the total number of elements in all given sets.", :fn-params-fixed [key], :fn-params-more [key & args], :req-args-fixed ["SUNION" key], :cluster-key-idx 1} "INCR" {:fn-name "incr", :fn-docstring "Increment the integer value of a key by one.\n\nINCR key\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["INCR" key], :cluster-key-idx 1} "MOVE" {:fn-name "move", :fn-docstring "Move a key to another database.\n\nMOVE key db\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key db], :fn-params-more nil, :req-args-fixed ["MOVE" key db], :cluster-key-idx 1}} \ No newline at end of file