 "STRLEN" {:fn-name "strlen", :fn-docstring "Get the length of the value stored in a key.\n\nSTRLEN key\n\nAvailable since: 2.2.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["STRLEN" key], :cluster-key-idx 1}
 "LRANGE" {:fn-name "lrange", :fn-docstring "Get a range of elements from a list.\n\nLRANGE key start stop\n\nAvailable since: 1.0.0.\n\nTime complexity: O(S+N) where S is the distance of start offset from HEAD for small lists, from nearest end (HEAD or TAIL) for large lists; and N is the number of elements in the specified range.", :fn-params-fixed [key start stop], :fn-params-more nil, :req-args-fixed ["LRANGE" key start stop], :cluster-key-idx 1}
 "LPUSH" {:fn-name "lpush", :fn-docstring "Prepend one or multiple values to a list.\n\nLPUSH key value [value ...]\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key value], :fn-params-more [key value & args], :req-args-fixed ["LPUSH" key value], :cluster-key-idx 1}
-"DBSIZE" {:fn-name "dbsize", :fn-docstring "Return the number of keys in the selected database.\n\nDBSIZE \n\nAvailable since: 1.0.0.\n\nTime complexity: ", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["DBSIZE"], :cluster-key-idx 1}
+"DBSIZE" {:fn-name "dbsize", :fn-docstring "Return the number of keys in the selected database.\n\nDBSIZE \n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["DBSIZE"], :cluster-key-idx 1}
 "EXPIRE" {:fn-name "expire", :fn-docstring "Set a key's time to live in seconds.\n\nEXPIRE key seconds\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key seconds], :fn-params-more nil, :req-args-fixed ["EXPIRE" key seconds], :cluster-key-idx 1}
 "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}

"ZREVRANGEBYLEX" {:fn-name "zrevrangebylex", :fn-docstring "Return a range of members in a sorted set, by lexicographical range, ordered from higher to lower strings..\n\nZREVRANGEBYLEX key max min [LIMIT offset count]\n\nAvailable since: 2.8.9.\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 max min], :fn-params-more [key max min & args], :req-args-fixed ["ZREVRANGEBYLEX" key max min], :cluster-key-idx 1}
"SMOVE" {:fn-name "smove", :fn-docstring "Move a member from one set to another.\n\nSMOVE source destination member\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [source destination member], :fn-params-more nil, :req-args-fixed ["SMOVE" source destination member], :cluster-key-idx 1}
"SMEMBERS" {:fn-name "smembers", :fn-docstring "Get all the members in a set.\n\nSMEMBERS key\n\nAvailable since: 1.0.0.\n\nTime complexity: O(N) where N is the set cardinality.", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["SMEMBERS" key], :cluster-key-idx 1}
"PSUBSCRIBE" {:fn-name "psubscribe", :fn-docstring "Listen for messages published to channels matching the given patterns.\n\nPSUBSCRIBE pattern [pattern ...]\n\nAvailable since: 2.0.0.\n\nTime complexity: O(N) where N is the number of patterns the client is already subscribed to.", :fn-params-fixed [pattern], :fn-params-more [pattern & args], :req-args-fixed ["PSUBSCRIBE" pattern], :cluster-key-idx 1}
"PTTL" {:fn-name "pttl", :fn-docstring "Get the time to live for a key in milliseconds.\n\nPTTL key\n\nAvailable since: 2.6.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["PTTL" key], :cluster-key-idx 1}
"SRANDMEMBER" {:fn-name "srandmember", :fn-docstring "Get one or multiple random members from a set.\n\nSRANDMEMBER key [count]\n\nAvailable since: 1.0.0.\n\nTime complexity: Without the count argument O(1), otherwise O(N) where N is the absolute value of the passed count.", :fn-params-fixed [key], :fn-params-more [key & args], :req-args-fixed ["SRANDMEMBER" key], :cluster-key-idx 1}
"EXEC" {:fn-name "exec", :fn-docstring "Execute all commands issued after MULTI.\n\nEXEC \n\nAvailable since: 1.2.0.\n\nTime complexity: ", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["EXEC"], :cluster-key-idx 1}
"SDIFFSTORE" {:fn-name "sdiffstore", :fn-docstring "Subtract multiple sets and store the resulting set in a key.\n\nSDIFFSTORE destination 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 [destination key], :fn-params-more [destination key & args], :req-args-fixed ["SDIFFSTORE" destination key], :cluster-key-idx 1}
"CONFIG GET" {:fn-name "config-get", :fn-docstring "Get the value of a configuration parameter.\n\nCONFIG GET parameter\n\nAvailable since: 2.0.0.\n\nTime complexity: ", :fn-params-fixed [parameter], :fn-params-more nil, :req-args-fixed ["CONFIG" "GET" parameter], :cluster-key-idx 2}
"GEORADIUSBYMEMBER" {:fn-name "georadiusbymember", :fn-docstring "Query a sorted set representing a geospatial index to fetch members matching a given maximum distance from a member.\n\nGEORADIUSBYMEMBER key member 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 member radius unit], :fn-params-more [key member radius unit & args], :req-args-fixed ["GEORADIUSBYMEMBER" key member radius unit], :cluster-key-idx 1}
"SHUTDOWN" {:fn-name "shutdown", :fn-docstring "Synchronously save the dataset to disk and then shut down the server.\n\nSHUTDOWN [NOSAVE|SAVE]\n\nAvailable since: 1.0.0.\n\nTime complexity: ", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["SHUTDOWN"], :cluster-key-idx 1}
"DUMP" {:fn-name "dump", :fn-docstring "Return a serialized version of the value stored at the specified key..\n\nDUMP key\n\nAvailable since: 2.6.0.\n\nTime complexity: O(1) to access the key and additional O(N*M) to serialized it, 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).", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["DUMP" key], :cluster-key-idx 1}
"BGSAVE" {:fn-name "bgsave", :fn-docstring "Asynchronously save the dataset to disk.\n\nBGSAVE \n\nAvailable since: 1.0.0.\n\nTime complexity: ", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["BGSAVE"], :cluster-key-idx 1}
"GEODIST" {:fn-name "geodist", :fn-docstring "Returns the distance between two members of a geospatial index.\n\nGEODIST key member1 member2 [unit]\n\nAvailable since: 3.2.0.\n\nTime complexity: O(log(N))", :fn-params-fixed [key member1 member2], :fn-params-more [key member1 member2 & args], :req-args-fixed ["GEODIST" key member1 member2], :cluster-key-idx 1}
"SCARD" {:fn-name "scard", :fn-docstring "Get the number of members in a set.\n\nSCARD key\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more nil, :req-args-fixed ["SCARD" key], :cluster-key-idx 1}
"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}

"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}
"RENAME" {:fn-name "rename", :fn-docstring "Rename a key.\n\nRENAME key newkey\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key newkey], :fn-params-more nil, :req-args-fixed ["RENAME" key newkey], :cluster-key-idx 1}
"SCRIPT KILL" {:fn-name "script-kill", :fn-docstring "Kill the script currently in execution..\n\nSCRIPT KILL \n\nAvailable since: 2.6.0.\n\nTime complexity: O(1)", :fn-params-fixed [], :fn-params-more nil, :req-args-fixed ["SCRIPT" "KILL"], :cluster-key-idx 2}
"PING" {:fn-name "ping", :fn-docstring "Ping the server.\n\nPING [message]\n\nAvailable since: 1.0.0.\n\n", :fn-params-fixed [], :fn-params-more [& args], :req-args-fixed ["PING"], :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}
"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}
