 "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}
 "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}
+"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}
 "EXISTS" {:fn-name "exists", :fn-docstring "Determine if a key exists.\n\nEXISTS key [key ...]\n\nAvailable since: 1.0.0.\n\nTime complexity: O(1)", :fn-params-fixed [key], :fn-params-more [key & args], :req-args-fixed ["EXISTS" key], :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}
"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}

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