 "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}

"SCRIPT FLUSH" {:fn-name "script-flush", :fn-docstring "Remove all the scripts from the script cache..\n\nSCRIPT FLUSH \n\nAvailable since: 2.6.0.\n\nTime complexity: O(N) with N being the number of scripts in cache", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["SCRIPT" "FLUSH"], :cluster-key-idx 2}
"BZPOPMAX" {:fn-name "bzpopmax", :fn-docstring "Remove and return the member with the highest score from one or more sorted sets, or block until one is available.\n\nBZPOPMAX 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 ["BZPOPMAX" key], :cluster-key-idx 1}
"MEMORY HELP" {:fn-name "memory-help", :fn-docstring "Show helpful text about the different subcommands.\n\nMEMORY HELP \n\nAvailable since: 4.0.0.\n\n", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["MEMORY" "HELP"], :cluster-key-idx 2}
"ZUNIONSTORE" {:fn-name "zunionstore", :fn-docstring "Add multiple sorted sets and store the resulting sorted set in a new key.\n\nZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]\n\nAvailable since: 2.0.0.\n\nTime complexity: O(N)+O(M log(M)) with N being the sum of the sizes of the input sorted sets, and M being the number of elements in the resulting sorted set.", :fn-params-fixed [destination numkeys key], :fn-params-more [destination numkeys key & args], :req-args-fixed ["ZUNIONSTORE" destination numkeys key], :cluster-key-idx 1}
"CLUSTER NODES" {:fn-name "cluster-nodes", :fn-docstring "Get Cluster config for the node.\n\nCLUSTER NODES \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" "NODES"], :cluster-key-idx 2}
"MSETNX" {:fn-name "msetnx", :fn-docstring "Set multiple keys to multiple values, only if none of the keys exist.\n\nMSETNX key value [key value ...]\n\nAvailable since: 1.0.1.\n\nTime complexity: O(N) where N is the number of keys to set.", :fn-params-fixed [key value], :fn-params-more [key value & args], :req-args-fixed ["MSETNX" key value], :cluster-key-idx 1}

"PUBLISH" {:fn-name "publish", :fn-docstring "Post a message to a channel.\n\nPUBLISH channel message\n\nAvailable since: 2.0.0.\n\nTime complexity: O(N+M) where N is the number of clients subscribed to the receiving channel and M is the total number of subscribed patterns (by any client).", :fn-params-fixed [channel message], :fn-params-more nil, :req-args-fixed ["PUBLISH" channel message], :cluster-key-idx 1}
"LLEN" {:fn-name "llen", :fn-docstring "Get the length of a list.\n\nLLEN key\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["LLEN" key], :cluster-key-idx 1}
"GEORADIUS" {:fn-name "georadius", :fn-docstring "Query a sorted set representing a geospatial index to fetch members matching a given maximum distance from a point.\n\nGEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]\n\nAvailable since: 3.2.0.\n\nTime complexity: O(N+log(M)) where N is the number of elements inside the bounding box of the circular area delimited by center and radius and M is the number of items inside the index.", :fn-params-fixed [key longitude latitude radius unit], :fn-params-more [key longitude latitude radius unit & args], :req-args-fixed ["GEORADIUS" key longitude latitude radius unit], :cluster-key-idx 1}
"MIGRATE" {:fn-name "migrate", :fn-docstring "Atomically transfer a key from a Redis instance to another one..\n\nMIGRATE host port key|\"\" destination-db timeout [COPY] [REPLACE] [AUTH password] [KEYS key]\n\nAvailable since: 2.6.0.\n\nTime complexity: This command actually executes a DUMP+DEL in the source instance, and a RESTORE in the target instance. See the pages of these commands for time complexity. Also an O(N) data transfer between the two instances is performed.", :fn-params-fixed [host port key destination-db timeout], :fn-params-more [host port key destination-db timeout & args], :req-args-fixed ["MIGRATE" host port key destination-db timeout], :cluster-key-idx 1}
"SINTER" {:fn-name "sinter", :fn-docstring "Intersect multiple sets.\n\nSINTER 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 [key], :fn-params-more [key & args], :req-args-fixed ["SINTER" key], :cluster-key-idx 1}
"TYPE" {:fn-name "type", :fn-docstring "Determine the type stored at key.\n\nTYPE key\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["TYPE" key], :cluster-key-idx 1}
"ZRANGEBYSCORE" {:fn-name "zrangebyscore", :fn-docstring "Return a range of members in a sorted set, by score.\n\nZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]\n\nAvailable since: 1.0.5.\n\nTime complexity: O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements being returned. If M is constant (e.g. always asking for the first 10 elements with LIMIT), you can consider it O(log(N)).", :fn-params-fixed [key min max], :fn-params-more [key min max & args], :req-args-fixed ["ZRANGEBYSCORE" key min max], :cluster-key-idx 1}
