From 5f8d1157ec327b4aac3f45575bfd8a576f5142ab Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 4 Nov 2023 04:04:04 +0000 Subject: [PATCH 1/2] fix(deps): update redis docker tag to v7.2.3 --- .github/workflows/ci.yml | 2 +- .github/workflows/updatesnapshot.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6bfa253c..465b562e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -103,7 +103,7 @@ jobs: runs-on: ubuntu-latest services: redis: - image: redis:7.2.1 + image: redis:7.2.3 options: >- --health-cmd "redis-cli ping" --health-interval 10s diff --git a/.github/workflows/updatesnapshot.yml b/.github/workflows/updatesnapshot.yml index a514f1e9..d3e43f2a 100644 --- a/.github/workflows/updatesnapshot.yml +++ b/.github/workflows/updatesnapshot.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest services: redis: - image: redis:7.2.1 + image: redis:7.2.3 options: >- --health-cmd "redis-cli ping" --health-interval 10s From 60c44e1e9b0763b78023f8aa3e994c7175833c93 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 4 Nov 2023 04:07:27 +0000 Subject: [PATCH 2/2] =?UTF-8?q?chore(snapshots):=20=F0=9F=A4=96=20?= =?UTF-8?q?=E2=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/command-docs.json | 2 +- data/info.json | 2 +- .../commands/__snapshots__/info.js.snap | 192 +++++++++--------- .../commands/__snapshots__/lolwut.js.snap | 4 +- 4 files changed, 100 insertions(+), 100 deletions(-) diff --git a/data/command-docs.json b/data/command-docs.json index 8716cd47..903e5b88 100644 --- a/data/command-docs.json +++ b/data/command-docs.json @@ -1 +1 @@ -["pfcount",["summary","Returns the approximated cardinality of the set(s) observed by the HyperLogLog key(s).","since","2.8.9","group","hyperloglog","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"substr",["summary","Returns a substring from a string value.","since","1.0.0","group","string","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.","doc_flags",["deprecated"],"deprecated_since","2.0.0","replaced_by","`GETRANGE`","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","integer","display_text","start"],["name","end","type","integer","display_text","end"]]],"watch",["summary","Monitors changes to keys to determine the execution of a transaction.","since","2.2.0","group","transactions","complexity","O(1) for every key.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"readwrite",["summary","Enables read-write queries for a connection to a Reids Cluster replica node.","since","3.0.0","group","cluster","complexity","O(1)"],"del",["summary","Deletes one or more keys.","since","1.0.0","group","generic","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).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"zscan",["summary","Iterates over members and scores of a sorted set.","since","2.8.0","group","sorted-set","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","cursor","type","integer","display_text","cursor"],["name","pattern","type","pattern","display_text","pattern","token","MATCH","flags",["optional"]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"incrbyfloat",["summary","Increment the floating point value of a key by a number. Uses 0 as initial value if the key doesn't exist.","since","2.6.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","increment","type","double","display_text","increment"]]],"hdel",["summary","Deletes one or more fields and their values from a hash. Deletes the hash if no fields remain.","since","2.0.0","group","hash","complexity","O(N) where N is the number of fields to be removed.","history",[["2.4.0","Accepts multiple `field` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field","flags",["multiple"]]]],"getset",["summary","Returns the previous string value of a key after setting it to a new value.","since","1.0.0","group","string","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`SET` with the `!GET` argument","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","value","type","string","display_text","value"]]],"hkeys",["summary","Returns all fields in a hash.","since","2.0.0","group","hash","complexity","O(N) where N is the size of the hash.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"restore",["summary","Creates a key from the serialized representation of a value.","since","2.6.0","group","generic","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)).","history",[["3.0.0","Added the `REPLACE` modifier."],["5.0.0","Added the `ABSTTL` modifier."],["5.0.0","Added the `IDLETIME` and `FREQ` options."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","ttl","type","integer","display_text","ttl"],["name","serialized-value","type","string","display_text","serialized-value"],["name","replace","type","pure-token","display_text","replace","token","REPLACE","since","3.0.0","flags",["optional"]],["name","absttl","type","pure-token","display_text","absttl","token","ABSTTL","since","5.0.0","flags",["optional"]],["name","seconds","type","integer","display_text","seconds","token","IDLETIME","since","5.0.0","flags",["optional"]],["name","frequency","type","integer","display_text","frequency","token","FREQ","since","5.0.0","flags",["optional"]]]],"asking",["summary","Signals that a cluster client is following an -ASK redirect.","since","3.0.0","group","cluster","complexity","O(1)"],"memory",["summary","A container for memory diagnostics commands.","since","4.0.0","group","server","complexity","Depends on subcommand.","subcommands",["memory|purge",["summary","Asks the allocator to release memory.","since","4.0.0","group","server","complexity","Depends on how much memory is allocated, could be slow"],"memory|malloc-stats",["summary","Returns the allocator statistics.","since","4.0.0","group","server","complexity","Depends on how much memory is allocated, could be slow"],"memory|usage",["summary","Estimates the memory usage of a key.","since","4.0.0","group","server","complexity","O(N) where N is the number of samples.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","token","SAMPLES","flags",["optional"]]]],"memory|doctor",["summary","Outputs a memory problems report.","since","4.0.0","group","server","complexity","O(1)"],"memory|stats",["summary","Returns details about memory usage.","since","4.0.0","group","server","complexity","O(1)"],"memory|help",["summary","Returns helpful text about the different subcommands.","since","4.0.0","group","server","complexity","O(1)"]]],"rpushx",["summary","Appends an element to a list only when the list exists.","since","2.2.0","group","list","complexity","O(1) for each element added, so O(N) to add N elements when the command is called with multiple arguments.","history",[["4.0.0","Accepts multiple `element` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","element","type","string","display_text","element","flags",["multiple"]]]],"discard",["summary","Discards a transaction.","since","2.0.0","group","transactions","complexity","O(N), when N is the number of queued commands"],"lpop",["summary","Returns the first elements in a list after removing it. Deletes the list if the last element was popped.","since","1.0.0","group","list","complexity","O(N) where N is the number of elements returned","history",[["6.2.0","Added the `count` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","since","6.2.0","flags",["optional"]]]],"zremrangebyrank",["summary","Removes members in a sorted set within a range of indexes. Deletes the sorted set if all members were removed.","since","2.0.0","group","sorted-set","complexity","O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements removed by the operation.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","integer","display_text","start"],["name","stop","type","integer","display_text","stop"]]],"zrank",["summary","Returns the index of a member in a sorted set ordered by ascending scores.","since","2.0.0","group","sorted-set","complexity","O(log(N))","history",[["7.2.0","Added the optional `WITHSCORE` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member"],["name","withscore","type","pure-token","display_text","withscore","token","WITHSCORE","flags",["optional"]]]],"sunionstore",["summary","Stores the union of multiple sets in a key.","since","1.0.0","group","set","complexity","O(N) where N is the total number of elements in all given sets.","arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]]]],"brpoplpush",["summary","Pops an element from a list, pushes it to another list and returns it. Block until an element is available otherwise. Deletes the list if the last element was popped.","since","2.2.0","group","list","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`BLMOVE` with the `RIGHT` and `LEFT` arguments","history",[["6.0.0","`timeout` is interpreted as a double instead of an integer."]],"arguments",[["name","source","type","key","display_text","source","key_spec_index",0],["name","destination","type","key","display_text","destination","key_spec_index",1],["name","timeout","type","double","display_text","timeout"]]],"srem",["summary","Removes one or more members from a set. Deletes the set if the last member was removed.","since","1.0.0","group","set","complexity","O(N) where N is the number of members to be removed.","history",[["2.4.0","Accepts multiple `member` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["multiple"]]]],"lolwut",["summary","Displays computer art and the Redis version","since","5.0.0","group","server","arguments",[["name","version","type","integer","display_text","version","token","VERSION","flags",["optional"]]]],"setrange",["summary","Overwrites a part of a string value with another by an offset. Creates the key if it doesn't exist.","since","2.2.0","group","string","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","offset","type","integer","display_text","offset"],["name","value","type","string","display_text","value"]]],"xack",["summary","Returns the number of messages that were successfully acknowledged by the consumer group member of a stream.","since","5.0.0","group","stream","complexity","O(1) for each message ID processed.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","id","type","string","display_text","id","flags",["multiple"]]]],"persist",["summary","Removes the expiration time of a key.","since","2.2.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"pfdebug",["summary","Internal commands for debugging HyperLogLog values.","since","2.8.9","group","hyperloglog","complexity","N/A","doc_flags",["syscmd"],"arguments",[["name","subcommand","type","string","display_text","subcommand"],["name","key","type","key","display_text","key","key_spec_index",0]]],"lcs",["summary","Finds the longest common substring.","since","7.0.0","group","string","complexity","O(N*M) where N and M are the lengths of s1 and s2, respectively","arguments",[["name","key1","type","key","display_text","key1","key_spec_index",0],["name","key2","type","key","display_text","key2","key_spec_index",0],["name","len","type","pure-token","display_text","len","token","LEN","flags",["optional"]],["name","idx","type","pure-token","display_text","idx","token","IDX","flags",["optional"]],["name","min-match-len","type","integer","display_text","min-match-len","token","MINMATCHLEN","flags",["optional"]],["name","withmatchlen","type","pure-token","display_text","withmatchlen","token","WITHMATCHLEN","flags",["optional"]]]],"llen",["summary","Returns the length of a list.","since","1.0.0","group","list","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"echo",["summary","Returns the given string.","since","1.0.0","group","connection","complexity","O(1)","arguments",[["name","message","type","string","display_text","message"]]],"zrem",["summary","Removes one or more members from a sorted set. Deletes the sorted set if all members were removed.","since","1.2.0","group","sorted-set","complexity","O(M*log(N)) with N being the number of elements in the sorted set and M the number of elements to be removed.","history",[["2.4.0","Accepts multiple elements."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["multiple"]]]],"client",["summary","A container for client connection commands.","since","2.4.0","group","connection","complexity","Depends on subcommand.","subcommands",["client|tracking",["summary","Controls server-assisted client-side caching for the connection.","since","6.0.0","group","connection","complexity","O(1). Some options may introduce additional complexity.","arguments",[["name","status","type","oneof","arguments",[["name","on","type","pure-token","display_text","on","token","ON"],["name","off","type","pure-token","display_text","off","token","OFF"]]],["name","client-id","type","integer","display_text","client-id","token","REDIRECT","flags",["optional"]],["name","prefix","type","string","display_text","prefix","token","PREFIX","flags",["optional","multiple","multiple_token"]],["name","bcast","type","pure-token","display_text","bcast","token","BCAST","flags",["optional"]],["name","optin","type","pure-token","display_text","optin","token","OPTIN","flags",["optional"]],["name","optout","type","pure-token","display_text","optout","token","OPTOUT","flags",["optional"]],["name","noloop","type","pure-token","display_text","noloop","token","NOLOOP","flags",["optional"]]]],"client|kill",["summary","Terminates open connections.","since","2.4.0","group","connection","complexity","O(N) where N is the number of client connections","history",[["2.8.12","Added new filter format."],["2.8.12","`ID` option."],["3.2.0","Added `master` type in for `TYPE` option."],["5.0.0","Replaced `slave` `TYPE` with `replica`. `slave` still supported for backward compatibility."],["6.2.0","`LADDR` option."]],"arguments",[["name","filter","type","oneof","arguments",[["name","old-format","type","string","display_text","ip:port","deprecated_since","2.8.12"],["name","new-format","type","oneof","flags",["multiple"],"arguments",[["name","client-id","type","integer","display_text","client-id","token","ID","since","2.8.12","flags",["optional"]],["name","client-type","type","oneof","token","TYPE","since","2.8.12","flags",["optional"],"arguments",[["name","normal","type","pure-token","display_text","normal","token","NORMAL"],["name","master","type","pure-token","display_text","master","token","MASTER","since","3.2.0"],["name","slave","type","pure-token","display_text","slave","token","SLAVE"],["name","replica","type","pure-token","display_text","replica","token","REPLICA","since","5.0.0"],["name","pubsub","type","pure-token","display_text","pubsub","token","PUBSUB"]]],["name","username","type","string","display_text","username","token","USER","flags",["optional"]],["name","addr","type","string","display_text","ip:port","token","ADDR","flags",["optional"]],["name","laddr","type","string","display_text","ip:port","token","LADDR","since","6.2.0","flags",["optional"]],["name","skipme","type","oneof","token","SKIPME","flags",["optional"],"arguments",[["name","yes","type","pure-token","display_text","yes","token","YES"],["name","no","type","pure-token","display_text","no","token","NO"]]]]]]]]],"client|no-evict",["summary","Sets the client eviction mode of the connection.","since","7.0.0","group","connection","complexity","O(1)","arguments",[["name","enabled","type","oneof","arguments",[["name","on","type","pure-token","display_text","on","token","ON"],["name","off","type","pure-token","display_text","off","token","OFF"]]]]],"client|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","connection","complexity","O(1)"],"client|setinfo",["summary","Sets information specific to the client or connection.","since","7.2.0","group","connection","complexity","O(1)","arguments",[["name","attr","type","oneof","arguments",[["name","libname","type","string","display_text","libname","token","LIB-NAME"],["name","libver","type","string","display_text","libver","token","LIB-VER"]]]]],"client|no-touch",["summary","Controls whether commands sent by the client affect the LRU/LFU of accessed keys.","since","7.2.0","group","connection","complexity","O(1)","arguments",[["name","enabled","type","oneof","arguments",[["name","on","type","pure-token","display_text","on","token","ON"],["name","off","type","pure-token","display_text","off","token","OFF"]]]]],"client|pause",["summary","Suspends commands processing.","since","3.0.0","group","connection","complexity","O(1)","history",[["6.2.0","`CLIENT PAUSE WRITE` mode added along with the `mode` option."]],"arguments",[["name","timeout","type","integer","display_text","timeout"],["name","mode","type","oneof","since","6.2.0","flags",["optional"],"arguments",[["name","write","type","pure-token","display_text","write","token","WRITE"],["name","all","type","pure-token","display_text","all","token","ALL"]]]]],"client|reply",["summary","Instructs the server whether to reply to commands.","since","3.2.0","group","connection","complexity","O(1)","arguments",[["name","action","type","oneof","arguments",[["name","on","type","pure-token","display_text","on","token","ON"],["name","off","type","pure-token","display_text","off","token","OFF"],["name","skip","type","pure-token","display_text","skip","token","SKIP"]]]]],"client|trackinginfo",["summary","Returns information about server-assisted client-side caching for the connection.","since","6.2.0","group","connection","complexity","O(1)"],"client|caching",["summary","Instructs the server whether to track the keys in the next request.","since","6.0.0","group","connection","complexity","O(1)","arguments",[["name","mode","type","oneof","arguments",[["name","yes","type","pure-token","display_text","yes","token","YES"],["name","no","type","pure-token","display_text","no","token","NO"]]]]],"client|getname",["summary","Returns the name of the connection.","since","2.6.9","group","connection","complexity","O(1)"],"client|getredir",["summary","Returns the client ID to which the connection's tracking notifications are redirected.","since","6.0.0","group","connection","complexity","O(1)"],"client|setname",["summary","Sets the connection name.","since","2.6.9","group","connection","complexity","O(1)","arguments",[["name","connection-name","type","string","display_text","connection-name"]]],"client|info",["summary","Returns information about the connection.","since","6.2.0","group","connection","complexity","O(1)"],"client|list",["summary","Lists open connections.","since","2.4.0","group","connection","complexity","O(N) where N is the number of client connections","history",[["2.8.12","Added unique client `id` field."],["5.0.0","Added optional `TYPE` filter."],["6.0.0","Added `user` field."],["6.2.0","Added `argv-mem`, `tot-mem`, `laddr` and `redir` fields and the optional `ID` filter."],["7.0.0","Added `resp`, `multi-mem`, `rbs` and `rbp` fields."],["7.0.3","Added `ssub` field."]],"arguments",[["name","client-type","type","oneof","token","TYPE","since","5.0.0","flags",["optional"],"arguments",[["name","normal","type","pure-token","display_text","normal","token","NORMAL"],["name","master","type","pure-token","display_text","master","token","MASTER"],["name","replica","type","pure-token","display_text","replica","token","REPLICA"],["name","pubsub","type","pure-token","display_text","pubsub","token","PUBSUB"]]],["name","client-id","type","integer","display_text","client-id","token","ID","since","6.2.0","flags",["optional","multiple"]]]],"client|id",["summary","Returns the unique client ID of the connection.","since","5.0.0","group","connection","complexity","O(1)"],"client|unpause",["summary","Resumes processing commands from paused clients.","since","6.2.0","group","connection","complexity","O(N) Where N is the number of paused clients"],"client|unblock",["summary","Unblocks a client blocked by a blocking command from a different connection.","since","5.0.0","group","connection","complexity","O(log N) where N is the number of client connections","arguments",[["name","client-id","type","integer","display_text","client-id"],["name","unblock-type","type","oneof","flags",["optional"],"arguments",[["name","timeout","type","pure-token","display_text","timeout","token","TIMEOUT"],["name","error","type","pure-token","display_text","error","token","ERROR"]]]]]]],"xautoclaim",["summary","Changes, or acquires, ownership of messages in a consumer group, as if the messages were delivered to as consumer group member.","since","6.2.0","group","stream","complexity","O(1) if COUNT is small.","history",[["7.0.0","Added an element to the reply array, containing deleted entries the command cleared from the PEL"]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","consumer","type","string","display_text","consumer"],["name","min-idle-time","type","string","display_text","min-idle-time"],["name","start","type","string","display_text","start"],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]],["name","justid","type","pure-token","display_text","justid","token","JUSTID","flags",["optional"]]]],"geosearchstore",["summary","Queries a geospatial index for members inside an area of a box or a circle, optionally stores the result.","since","6.2.0","group","geo","complexity","O(N+log(M)) where N is the number of elements in the grid-aligned bounding box area around the shape provided as the filter and M is the number of items inside the shape","history",[["7.0.0","Added support for uppercase unit names."]],"arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","source","type","key","display_text","source","key_spec_index",1],["name","from","type","oneof","arguments",[["name","member","type","string","display_text","member","token","FROMMEMBER"],["name","fromlonlat","type","block","token","FROMLONLAT","arguments",[["name","longitude","type","double","display_text","longitude"],["name","latitude","type","double","display_text","latitude"]]]]],["name","by","type","oneof","arguments",[["name","circle","type","block","arguments",[["name","radius","type","double","display_text","radius","token","BYRADIUS"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]]]],["name","box","type","block","arguments",[["name","width","type","double","display_text","width","token","BYBOX"],["name","height","type","double","display_text","height"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]]]]]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]],["name","count-block","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count","token","COUNT"],["name","any","type","pure-token","display_text","any","token","ANY","flags",["optional"]]]],["name","storedist","type","pure-token","display_text","storedist","token","STOREDIST","flags",["optional"]]]],"cluster",["summary","A container for Redis Cluster commands.","since","3.0.0","group","cluster","complexity","Depends on subcommand.","subcommands",["cluster|slots",["summary","Returns the mapping of cluster slots to nodes.","since","3.0.0","group","cluster","complexity","O(N) where N is the total number of Cluster nodes","doc_flags",["deprecated"],"deprecated_since","7.0.0","replaced_by","`CLUSTER SHARDS`","history",[["4.0.0","Added node IDs."],["7.0.0","Added additional networking metadata field."]]],"cluster|nodes",["summary","Returns the cluster configuration for a node.","since","3.0.0","group","cluster","complexity","O(N) where N is the total number of Cluster nodes"],"cluster|count-failure-reports",["summary","Returns the number of active failure reports active for a node.","since","3.0.0","group","cluster","complexity","O(N) where N is the number of failure reports","arguments",[["name","node-id","type","string","display_text","node-id"]]],"cluster|replicas",["summary","Lists the replica nodes of a master node.","since","5.0.0","group","cluster","complexity","O(N) where N is the number of replicas.","arguments",[["name","node-id","type","string","display_text","node-id"]]],"cluster|saveconfig",["summary","Forces a node to save the cluster configuration to disk.","since","3.0.0","group","cluster","complexity","O(1)"],"cluster|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","cluster","complexity","O(1)"],"cluster|set-config-epoch",["summary","Sets the configuration epoch for a new node.","since","3.0.0","group","cluster","complexity","O(1)","arguments",[["name","config-epoch","type","integer","display_text","config-epoch"]]],"cluster|shards",["summary","Returns the mapping of cluster slots to shards.","since","7.0.0","group","cluster","complexity","O(N) where N is the total number of cluster nodes"],"cluster|getkeysinslot",["summary","Returns the key names in a hash slot.","since","3.0.0","group","cluster","complexity","O(N) where N is the number of requested keys","arguments",[["name","slot","type","integer","display_text","slot"],["name","count","type","integer","display_text","count"]]],"cluster|flushslots",["summary","Deletes all slots information from a node.","since","3.0.0","group","cluster","complexity","O(1)"],"cluster|bumpepoch",["summary","Advances the cluster config epoch.","since","3.0.0","group","cluster","complexity","O(1)"],"cluster|myid",["summary","Returns the ID of a node.","since","3.0.0","group","cluster","complexity","O(1)"],"cluster|forget",["summary","Removes a node from the nodes table.","since","3.0.0","group","cluster","complexity","O(1)","arguments",[["name","node-id","type","string","display_text","node-id"]]],"cluster|addslotsrange",["summary","Assigns new hash slot ranges to a node.","since","7.0.0","group","cluster","complexity","O(N) where N is the total number of the slots between the start slot and end slot arguments.","arguments",[["name","range","type","block","flags",["multiple"],"arguments",[["name","start-slot","type","integer","display_text","start-slot"],["name","end-slot","type","integer","display_text","end-slot"]]]]],"cluster|keyslot",["summary","Returns the hash slot for a key.","since","3.0.0","group","cluster","complexity","O(N) where N is the number of bytes in the key","arguments",[["name","key","type","string","display_text","key"]]],"cluster|info",["summary","Returns information about the state of a node.","since","3.0.0","group","cluster","complexity","O(1)"],"cluster|setslot",["summary","Binds a hash slot to a node.","since","3.0.0","group","cluster","complexity","O(1)","arguments",[["name","slot","type","integer","display_text","slot"],["name","subcommand","type","oneof","arguments",[["name","importing","type","string","display_text","node-id","token","IMPORTING"],["name","migrating","type","string","display_text","node-id","token","MIGRATING"],["name","node","type","string","display_text","node-id","token","NODE"],["name","stable","type","pure-token","display_text","stable","token","STABLE"]]]]],"cluster|delslots",["summary","Sets hash slots as unbound for a node.","since","3.0.0","group","cluster","complexity","O(N) where N is the total number of hash slot arguments","arguments",[["name","slot","type","integer","display_text","slot","flags",["multiple"]]]],"cluster|failover",["summary","Forces a replica to perform a manual failover of its master.","since","3.0.0","group","cluster","complexity","O(1)","arguments",[["name","options","type","oneof","flags",["optional"],"arguments",[["name","force","type","pure-token","display_text","force","token","FORCE"],["name","takeover","type","pure-token","display_text","takeover","token","TAKEOVER"]]]]],"cluster|reset",["summary","Resets a node.","since","3.0.0","group","cluster","complexity","O(N) where N is the number of known nodes. The command may execute a FLUSHALL as a side effect.","arguments",[["name","reset-type","type","oneof","flags",["optional"],"arguments",[["name","hard","type","pure-token","display_text","hard","token","HARD"],["name","soft","type","pure-token","display_text","soft","token","SOFT"]]]]],"cluster|replicate",["summary","Configure a node as replica of a master node.","since","3.0.0","group","cluster","complexity","O(1)","arguments",[["name","node-id","type","string","display_text","node-id"]]],"cluster|meet",["summary","Forces a node to handshake with another node.","since","3.0.0","group","cluster","complexity","O(1)","history",[["4.0.0","Added the optional `cluster_bus_port` argument."]],"arguments",[["name","ip","type","string","display_text","ip"],["name","port","type","integer","display_text","port"],["name","cluster-bus-port","type","integer","display_text","cluster-bus-port","since","4.0.0","flags",["optional"]]]],"cluster|delslotsrange",["summary","Sets hash slot ranges as unbound for a node.","since","7.0.0","group","cluster","complexity","O(N) where N is the total number of the slots between the start slot and end slot arguments.","arguments",[["name","range","type","block","flags",["multiple"],"arguments",[["name","start-slot","type","integer","display_text","start-slot"],["name","end-slot","type","integer","display_text","end-slot"]]]]],"cluster|myshardid",["summary","Returns the shard ID of a node.","since","7.2.0","group","cluster","complexity","O(1)"],"cluster|slaves",["summary","Lists the replica nodes of a master node.","since","3.0.0","group","cluster","complexity","O(N) where N is the number of replicas.","doc_flags",["deprecated"],"deprecated_since","5.0.0","replaced_by","`CLUSTER REPLICAS`","arguments",[["name","node-id","type","string","display_text","node-id"]]],"cluster|addslots",["summary","Assigns new hash slots to a node.","since","3.0.0","group","cluster","complexity","O(N) where N is the total number of hash slot arguments","arguments",[["name","slot","type","integer","display_text","slot","flags",["multiple"]]]],"cluster|links",["summary","Returns a list of all TCP links to and from peer nodes.","since","7.0.0","group","cluster","complexity","O(N) where N is the total number of Cluster nodes"],"cluster|countkeysinslot",["summary","Returns the number of keys in a hash slot.","since","3.0.0","group","cluster","complexity","O(1)","arguments",[["name","slot","type","integer","display_text","slot"]]]]],"rename",["summary","Renames a key and overwrites the destination.","since","1.0.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","newkey","type","key","display_text","newkey","key_spec_index",1]]],"zintercard",["summary","Returns the number of members of the intersect of multiple sorted sets.","since","7.0.0","group","sorted-set","complexity","O(N*K) worst case with N being the smallest input sorted set, K being the number of input sorted sets.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","limit","type","integer","display_text","limit","token","LIMIT","flags",["optional"]]]],"psetex",["summary","Sets both string value and expiration time in milliseconds of a key. The key is created if it doesn't exist.","since","2.6.0","group","string","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","2.6.12","replaced_by","`SET` with the `PX` argument","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","milliseconds","type","integer","display_text","milliseconds"],["name","value","type","string","display_text","value"]]],"xread",["summary","Returns messages from multiple streams with IDs greater than the ones requested. Blocks until a message is available otherwise.","since","5.0.0","group","stream","arguments",[["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]],["name","milliseconds","type","integer","display_text","milliseconds","token","BLOCK","flags",["optional"]],["name","streams","type","block","token","STREAMS","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","id","type","string","display_text","id","flags",["multiple"]]]]]],"zcount",["summary","Returns the count of members in a sorted set that have scores within a range.","since","2.0.0","group","sorted-set","complexity","O(log(N)) with N being the number of elements in the sorted set.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","min","type","double","display_text","min"],["name","max","type","double","display_text","max"]]],"wait",["summary","Blocks until the asynchronous replication of all preceding write commands sent by the connection is completed.","since","3.0.0","group","generic","complexity","O(1)","arguments",[["name","numreplicas","type","integer","display_text","numreplicas"],["name","timeout","type","integer","display_text","timeout"]]],"getrange",["summary","Returns a substring of the string stored at a key.","since","2.4.0","group","string","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","integer","display_text","start"],["name","end","type","integer","display_text","end"]]],"ssubscribe",["summary","Listens for messages published to shard channels.","since","7.0.0","group","pubsub","complexity","O(N) where N is the number of shard channels to subscribe to.","arguments",[["name","shardchannel","type","string","display_text","shardchannel","flags",["multiple"]]]],"latency",["summary","A container for latency diagnostics commands.","since","2.8.13","group","server","complexity","Depends on subcommand.","subcommands",["latency|latest",["summary","Returns the latest latency samples for all events.","since","2.8.13","group","server","complexity","O(1)"],"latency|doctor",["summary","Returns a human-readable latency analysis report.","since","2.8.13","group","server","complexity","O(1)"],"latency|reset",["summary","Resets the latency data for one or more events.","since","2.8.13","group","server","complexity","O(1)","arguments",[["name","event","type","string","display_text","event","flags",["optional","multiple"]]]],"latency|histogram",["summary","Returns the cumulative distribution of latencies of a subset or all commands.","since","7.0.0","group","server","complexity","O(N) where N is the number of commands with latency information being retrieved.","arguments",[["name","command","type","string","display_text","command","flags",["optional","multiple"]]]],"latency|graph",["summary","Returns a latency graph for an event.","since","2.8.13","group","server","complexity","O(1)","arguments",[["name","event","type","string","display_text","event"]]],"latency|help",["summary","Returns helpful text about the different subcommands.","since","2.8.13","group","server","complexity","O(1)"],"latency|history",["summary","Returns timestamp-latency samples for an event.","since","2.8.13","group","server","complexity","O(1)","arguments",[["name","event","type","string","display_text","event"]]]]],"zremrangebyscore",["summary","Removes members in a sorted set within a range of scores. Deletes the sorted set if all members were removed.","since","1.2.0","group","sorted-set","complexity","O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements removed by the operation.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","min","type","double","display_text","min"],["name","max","type","double","display_text","max"]]],"setex",["summary","Sets the string value and expiration time of a key. Creates the key if it doesn't exist.","since","2.0.0","group","string","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","2.6.12","replaced_by","`SET` with the `EX` argument","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","seconds","type","integer","display_text","seconds"],["name","value","type","string","display_text","value"]]],"multi",["summary","Starts a transaction.","since","1.2.0","group","transactions","complexity","O(1)"],"sunion",["summary","Returns the union of multiple sets.","since","1.0.0","group","set","complexity","O(N) where N is the total number of elements in all given sets.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"randomkey",["summary","Returns a random key name from the database.","since","1.0.0","group","generic","complexity","O(1)"],"fcall",["summary","Invokes a function.","since","7.0.0","group","scripting","complexity","Depends on the function that is executed.","arguments",[["name","function","type","string","display_text","function"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["optional","multiple"]],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"sscan",["summary","Iterates over members of a set.","since","2.8.0","group","set","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","cursor","type","integer","display_text","cursor"],["name","pattern","type","pattern","display_text","pattern","token","MATCH","flags",["optional"]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"set",["summary","Sets the string value of a key, ignoring its type. The key is created if it doesn't exist.","since","1.0.0","group","string","complexity","O(1)","history",[["2.6.12","Added the `EX`, `PX`, `NX` and `XX` options."],["6.0.0","Added the `KEEPTTL` option."],["6.2.0","Added the `GET`, `EXAT` and `PXAT` option."],["7.0.0","Allowed the `NX` and `GET` options to be used together."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","value","type","string","display_text","value"],["name","condition","type","oneof","since","2.6.12","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"]]],["name","get","type","pure-token","display_text","get","token","GET","since","6.2.0","flags",["optional"]],["name","expiration","type","oneof","flags",["optional"],"arguments",[["name","seconds","type","integer","display_text","seconds","token","EX","since","2.6.12"],["name","milliseconds","type","integer","display_text","milliseconds","token","PX","since","2.6.12"],["name","unix-time-seconds","type","unix-time","display_text","unix-time-seconds","token","EXAT","since","6.2.0"],["name","unix-time-milliseconds","type","unix-time","display_text","unix-time-milliseconds","token","PXAT","since","6.2.0"],["name","keepttl","type","pure-token","display_text","keepttl","token","KEEPTTL","since","6.0.0"]]]]],"zinterstore",["summary","Stores the intersect of multiple sorted sets in a key.","since","2.0.0","group","sorted-set","complexity","O(N*K)+O(M*log(M)) worst case with N being the smallest input sorted set, K being the number of input sorted sets and M being the number of elements in the resulting sorted set.","arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]],["name","weight","type","integer","display_text","weight","token","WEIGHTS","flags",["optional","multiple"]],["name","aggregate","type","oneof","token","AGGREGATE","flags",["optional"],"arguments",[["name","sum","type","pure-token","display_text","sum","token","SUM"],["name","min","type","pure-token","display_text","min","token","MIN"],["name","max","type","pure-token","display_text","max","token","MAX"]]]]],"lindex",["summary","Returns an element from a list by its index.","since","1.0.0","group","list","complexity","O(N) where N is the number of elements to traverse to get to the element at index. This makes asking for the first or the last element of the list O(1).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","index","type","integer","display_text","index"]]],"lastsave",["summary","Returns the Unix timestamp of the last successful save to disk.","since","1.0.0","group","server","complexity","O(1)"],"hset",["summary","Creates or modifies the value of a field in a hash.","since","2.0.0","group","hash","complexity","O(1) for each field/value pair added, so O(N) to add N field/value pairs when the command is called with multiple field/value pairs.","history",[["4.0.0","Accepts multiple `field` and `value` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","data","type","block","flags",["multiple"],"arguments",[["name","field","type","string","display_text","field"],["name","value","type","string","display_text","value"]]]]],"punsubscribe",["summary","Stops listening to messages published to channels that match one or more patterns.","since","2.0.0","group","pubsub","complexity","O(N) where N is the number of patterns to unsubscribe.","arguments",[["name","pattern","type","pattern","display_text","pattern","flags",["optional","multiple"]]]],"bgrewriteaof",["summary","Asynchronously rewrites the append-only file to disk.","since","1.0.0","group","server","complexity","O(1)"],"georadius",["summary","Queries a geospatial index for members within a distance from a coordinate, optionally stores the result.","since","3.2.0","group","geo","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.","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`GEOSEARCH` and `GEOSEARCHSTORE` with the `BYRADIUS` argument","history",[["6.2.0","Added the `ANY` option for `COUNT`."],["7.0.0","Added support for uppercase unit names."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","longitude","type","double","display_text","longitude"],["name","latitude","type","double","display_text","latitude"],["name","radius","type","double","display_text","radius"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]],["name","withcoord","type","pure-token","display_text","withcoord","token","WITHCOORD","flags",["optional"]],["name","withdist","type","pure-token","display_text","withdist","token","WITHDIST","flags",["optional"]],["name","withhash","type","pure-token","display_text","withhash","token","WITHHASH","flags",["optional"]],["name","count-block","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count","token","COUNT"],["name","any","type","pure-token","display_text","any","token","ANY","since","6.2.0","flags",["optional"]]]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]],["name","store","type","oneof","flags",["optional"],"arguments",[["name","storekey","type","key","display_text","key","key_spec_index",1,"token","STORE"],["name","storedistkey","type","key","display_text","key","key_spec_index",2,"token","STOREDIST"]]]]],"renamenx",["summary","Renames a key only when the target key name doesn't exist.","since","1.0.0","group","generic","complexity","O(1)","history",[["3.2.0","The command no longer returns an error when source and destination names are the same."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","newkey","type","key","display_text","newkey","key_spec_index",1]]],"dbsize",["summary","Returns the number of keys in the database.","since","1.0.0","group","server","complexity","O(1)"],"bitfield",["summary","Performs arbitrary bitfield integer operations on strings.","since","3.2.0","group","bitmap","complexity","O(1) for each subcommand specified","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","operation","type","oneof","flags",["optional","multiple"],"arguments",[["name","get-block","type","block","token","GET","arguments",[["name","encoding","type","string","display_text","encoding"],["name","offset","type","integer","display_text","offset"]]],["name","write","type","block","arguments",[["name","overflow-block","type","oneof","token","OVERFLOW","flags",["optional"],"arguments",[["name","wrap","type","pure-token","display_text","wrap","token","WRAP"],["name","sat","type","pure-token","display_text","sat","token","SAT"],["name","fail","type","pure-token","display_text","fail","token","FAIL"]]],["name","write-operation","type","oneof","arguments",[["name","set-block","type","block","token","SET","arguments",[["name","encoding","type","string","display_text","encoding"],["name","offset","type","integer","display_text","offset"],["name","value","type","integer","display_text","value"]]],["name","incrby-block","type","block","token","INCRBY","arguments",[["name","encoding","type","string","display_text","encoding"],["name","offset","type","integer","display_text","offset"],["name","increment","type","integer","display_text","increment"]]]]]]]]]]],"object",["summary","A container for object introspection commands.","since","2.2.3","group","generic","complexity","Depends on subcommand.","subcommands",["object|refcount",["summary","Returns the reference count of a value of a key.","since","2.2.3","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"object|encoding",["summary","Returns the internal encoding of a Redis object.","since","2.2.3","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"object|freq",["summary","Returns the logarithmic access frequency counter of a Redis object.","since","4.0.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"object|idletime",["summary","Returns the time since the last access to a Redis object.","since","2.2.3","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"object|help",["summary","Returns helpful text about the different subcommands.","since","6.2.0","group","generic","complexity","O(1)"]]],"zadd",["summary","Adds one or more members to a sorted set, or updates their scores. Creates the key if it doesn't exist.","since","1.2.0","group","sorted-set","complexity","O(log(N)) for each item added, where N is the number of elements in the sorted set.","history",[["2.4.0","Accepts multiple elements."],["3.0.2","Added the `XX`, `NX`, `CH` and `INCR` options."],["6.2.0","Added the `GT` and `LT` options."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","condition","type","oneof","since","3.0.2","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"]]],["name","comparison","type","oneof","since","6.2.0","flags",["optional"],"arguments",[["name","gt","type","pure-token","display_text","gt","token","GT"],["name","lt","type","pure-token","display_text","lt","token","LT"]]],["name","change","type","pure-token","display_text","change","token","CH","since","3.0.2","flags",["optional"]],["name","increment","type","pure-token","display_text","increment","token","INCR","since","3.0.2","flags",["optional"]],["name","data","type","block","flags",["multiple"],"arguments",[["name","score","type","double","display_text","score"],["name","member","type","string","display_text","member"]]]]],"sdiff",["summary","Returns the difference of multiple sets.","since","1.0.0","group","set","complexity","O(N) where N is the total number of elements in all given sets.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"zunionstore",["summary","Stores the union of multiple sorted sets in a key.","since","2.0.0","group","sorted-set","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.","arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]],["name","weight","type","integer","display_text","weight","token","WEIGHTS","flags",["optional","multiple"]],["name","aggregate","type","oneof","token","AGGREGATE","flags",["optional"],"arguments",[["name","sum","type","pure-token","display_text","sum","token","SUM"],["name","min","type","pure-token","display_text","min","token","MIN"],["name","max","type","pure-token","display_text","max","token","MAX"]]]]],"georadiusbymember",["summary","Queries a geospatial index for members within a distance from a member, optionally stores the result.","since","3.2.0","group","geo","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.","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`GEOSEARCH` and `GEOSEARCHSTORE` with the `BYRADIUS` and `FROMMEMBER` arguments","history",[["7.0.0","Added support for uppercase unit names."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member"],["name","radius","type","double","display_text","radius"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]],["name","withcoord","type","pure-token","display_text","withcoord","token","WITHCOORD","flags",["optional"]],["name","withdist","type","pure-token","display_text","withdist","token","WITHDIST","flags",["optional"]],["name","withhash","type","pure-token","display_text","withhash","token","WITHHASH","flags",["optional"]],["name","count-block","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count","token","COUNT"],["name","any","type","pure-token","display_text","any","token","ANY","flags",["optional"]]]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]],["name","store","type","oneof","flags",["optional"],"arguments",[["name","storekey","type","key","display_text","key","key_spec_index",1,"token","STORE"],["name","storedistkey","type","key","display_text","key","key_spec_index",2,"token","STOREDIST"]]]]],"sinter",["summary","Returns the intersect of multiple sets.","since","1.0.0","group","set","complexity","O(N*M) worst case where N is the cardinality of the smallest set and M is the number of sets.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"scard",["summary","Returns the number of members in a set.","since","1.0.0","group","set","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"georadius_ro",["summary","Returns members from a geospatial index that are within a distance from a coordinate.","since","3.2.10","group","geo","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.","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`GEOSEARCH` with the `BYRADIUS` argument","history",[["6.2.0","Added the `ANY` option for `COUNT`."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","longitude","type","double","display_text","longitude"],["name","latitude","type","double","display_text","latitude"],["name","radius","type","double","display_text","radius"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]],["name","withcoord","type","pure-token","display_text","withcoord","token","WITHCOORD","flags",["optional"]],["name","withdist","type","pure-token","display_text","withdist","token","WITHDIST","flags",["optional"]],["name","withhash","type","pure-token","display_text","withhash","token","WITHHASH","flags",["optional"]],["name","count-block","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count","token","COUNT"],["name","any","type","pure-token","display_text","any","token","ANY","since","6.2.0","flags",["optional"]]]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]]]],"unlink",["summary","Asynchronously deletes one or more keys.","since","4.0.0","group","generic","complexity","O(1) for each key removed regardless of its size. Then the command does O(N) work in a different thread in order to reclaim memory, where N is the number of allocations the deleted objects where composed of.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"exists",["summary","Determines whether one or more keys exist.","since","1.0.0","group","generic","complexity","O(N) where N is the number of keys to check.","history",[["3.0.3","Accepts multiple `key` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"hmset",["summary","Sets the values of multiple fields.","since","2.0.0","group","hash","complexity","O(N) where N is the number of fields being set.","doc_flags",["deprecated"],"deprecated_since","4.0.0","replaced_by","`HSET` with multiple field-value pairs","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","data","type","block","flags",["multiple"],"arguments",[["name","field","type","string","display_text","field"],["name","value","type","string","display_text","value"]]]]],"sinterstore",["summary","Stores the intersect of multiple sets in a key.","since","1.0.0","group","set","complexity","O(N*M) worst case where N is the cardinality of the smallest set and M is the number of sets.","arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]]]],"xrange",["summary","Returns the messages from a stream within a range of IDs.","since","5.0.0","group","stream","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).","history",[["6.2.0","Added exclusive ranges."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","string","display_text","start"],["name","end","type","string","display_text","end"],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"zrevrangebyscore",["summary","Returns members in a sorted set within a range of scores in reverse order.","since","2.2.0","group","sorted-set","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)).","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`ZRANGE` with the `REV` and `BYSCORE` arguments","history",[["2.1.6","`min` and `max` can be exclusive."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","max","type","double","display_text","max"],["name","min","type","double","display_text","min"],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]]]],"xlen",["summary","Return the number of messages in a stream.","since","5.0.0","group","stream","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"zrange",["summary","Returns members in a sorted set within a range of indexes.","since","1.2.0","group","sorted-set","complexity","O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements returned.","history",[["6.2.0","Added the `REV`, `BYSCORE`, `BYLEX` and `LIMIT` options."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","string","display_text","start"],["name","stop","type","string","display_text","stop"],["name","sortby","type","oneof","since","6.2.0","flags",["optional"],"arguments",[["name","byscore","type","pure-token","display_text","byscore","token","BYSCORE"],["name","bylex","type","pure-token","display_text","bylex","token","BYLEX"]]],["name","rev","type","pure-token","display_text","rev","token","REV","since","6.2.0","flags",["optional"]],["name","limit","type","block","token","LIMIT","since","6.2.0","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]]]],"type",["summary","Determines the type of value stored at a key.","since","1.0.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"sunsubscribe",["summary","Stops listening to messages posted to shard channels.","since","7.0.0","group","pubsub","complexity","O(N) where N is the number of shard channels to unsubscribe.","arguments",[["name","shardchannel","type","string","display_text","shardchannel","flags",["optional","multiple"]]]],"xadd",["summary","Appends a new message to a stream. Creates the key if it doesn't exist.","since","5.0.0","group","stream","complexity","O(1) when adding a new entry, O(N) when trimming where N being the number of entries evicted.","history",[["6.2.0","Added the `NOMKSTREAM` option, `MINID` trimming strategy and the `LIMIT` option."],["7.0.0","Added support for the `-*` explicit ID form."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","nomkstream","type","pure-token","display_text","nomkstream","token","NOMKSTREAM","since","6.2.0","flags",["optional"]],["name","trim","type","block","flags",["optional"],"arguments",[["name","strategy","type","oneof","arguments",[["name","maxlen","type","pure-token","display_text","maxlen","token","MAXLEN"],["name","minid","type","pure-token","display_text","minid","token","MINID","since","6.2.0"]]],["name","operator","type","oneof","flags",["optional"],"arguments",[["name","equal","type","pure-token","display_text","equal","token","="],["name","approximately","type","pure-token","display_text","approximately","token","~"]]],["name","threshold","type","string","display_text","threshold"],["name","count","type","integer","display_text","count","token","LIMIT","since","6.2.0","flags",["optional"]]]],["name","id-selector","type","oneof","arguments",[["name","auto-id","type","pure-token","display_text","auto-id","token","*"],["name","id","type","string","display_text","id"]]],["name","data","type","block","flags",["multiple"],"arguments",[["name","field","type","string","display_text","field"],["name","value","type","string","display_text","value"]]]]],"exec",["summary","Executes all commands in a transaction.","since","1.2.0","group","transactions","complexity","Depends on commands in the transaction"],"zrevrange",["summary","Returns members in a sorted set within a range of indexes in reverse order.","since","1.2.0","group","sorted-set","complexity","O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements returned.","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`ZRANGE` with the `REV` argument","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","integer","display_text","start"],["name","stop","type","integer","display_text","stop"],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]]]],"get",["summary","Returns the string value of a key.","since","1.0.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"zpopmin",["summary","Returns the lowest-scoring members from a sorted set after removing them. Deletes the sorted set if the last member was popped.","since","5.0.0","group","sorted-set","complexity","O(log(N)*M) with N being the number of elements in the sorted set, and M being the number of elements popped.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","flags",["optional"]]]],"xdel",["summary","Returns the number of messages after removing them from a stream.","since","5.0.0","group","stream","complexity","O(1) for each single item to delete in the stream, regardless of the stream size.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","id","type","string","display_text","id","flags",["multiple"]]]],"zincrby",["summary","Increments the score of a member in a sorted set.","since","1.2.0","group","sorted-set","complexity","O(log(N)) where N is the number of elements in the sorted set.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","increment","type","integer","display_text","increment"],["name","member","type","string","display_text","member"]]],"function",["summary","A container for function commands.","since","7.0.0","group","scripting","complexity","Depends on subcommand.","subcommands",["function|dump",["summary","Dumps all libraries into a serialized binary payload.","since","7.0.0","group","scripting","complexity","O(N) where N is the number of functions"],"function|restore",["summary","Restores all libraries from a payload.","since","7.0.0","group","scripting","complexity","O(N) where N is the number of functions on the payload","arguments",[["name","serialized-value","type","string","display_text","serialized-value"],["name","policy","type","oneof","flags",["optional"],"arguments",[["name","flush","type","pure-token","display_text","flush","token","FLUSH"],["name","append","type","pure-token","display_text","append","token","APPEND"],["name","replace","type","pure-token","display_text","replace","token","REPLACE"]]]]],"function|load",["summary","Creates a library.","since","7.0.0","group","scripting","complexity","O(1) (considering compilation time is redundant)","arguments",[["name","replace","type","pure-token","display_text","replace","token","REPLACE","flags",["optional"]],["name","function-code","type","string","display_text","function-code"]]],"function|flush",["summary","Deletes all libraries and functions.","since","7.0.0","group","scripting","complexity","O(N) where N is the number of functions deleted","arguments",[["name","flush-type","type","oneof","flags",["optional"],"arguments",[["name","async","type","pure-token","display_text","async","token","ASYNC"],["name","sync","type","pure-token","display_text","sync","token","SYNC"]]]]],"function|kill",["summary","Terminates a function during execution.","since","7.0.0","group","scripting","complexity","O(1)"],"function|delete",["summary","Deletes a library and its functions.","since","7.0.0","group","scripting","complexity","O(1)","arguments",[["name","library-name","type","string","display_text","library-name"]]],"function|help",["summary","Returns helpful text about the different subcommands.","since","7.0.0","group","scripting","complexity","O(1)"],"function|list",["summary","Returns information about all libraries.","since","7.0.0","group","scripting","complexity","O(N) where N is the number of functions","arguments",[["name","library-name-pattern","type","string","display_text","library-name-pattern","token","LIBRARYNAME","flags",["optional"]],["name","withcode","type","pure-token","display_text","withcode","token","WITHCODE","flags",["optional"]]]],"function|stats",["summary","Returns information about a function during execution.","since","7.0.0","group","scripting","complexity","O(1)"]]],"spop",["summary","Returns one or more random members from a set after removing them. Deletes the set if the last member was popped.","since","1.0.0","group","set","complexity","Without the count argument O(1), otherwise O(N) where N is the value of the passed count.","history",[["3.2.0","Added the `count` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","since","3.2.0","flags",["optional"]]]],"expire",["summary","Sets the expiration time of a key in seconds.","since","1.0.0","group","generic","complexity","O(1)","history",[["7.0.0","Added options: `NX`, `XX`, `GT` and `LT`."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","seconds","type","integer","display_text","seconds"],["name","condition","type","oneof","since","7.0.0","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"],["name","gt","type","pure-token","display_text","gt","token","GT"],["name","lt","type","pure-token","display_text","lt","token","LT"]]]]],"debug",["summary","A container for debugging commands.","since","1.0.0","group","server","complexity","Depends on subcommand.","doc_flags",["syscmd"]],"lset",["summary","Sets the value of an element in a list by its index.","since","1.0.0","group","list","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).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","index","type","integer","display_text","index"],["name","element","type","string","display_text","element"]]],"restore-asking",["summary","An internal command for migrating keys in a cluster.","since","3.0.0","group","server","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)).","doc_flags",["syscmd"],"history",[["3.0.0","Added the `REPLACE` modifier."],["5.0.0","Added the `ABSTTL` modifier."],["5.0.0","Added the `IDLETIME` and `FREQ` options."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","ttl","type","integer","display_text","ttl"],["name","serialized-value","type","string","display_text","serialized-value"],["name","replace","type","pure-token","display_text","replace","token","REPLACE","since","3.0.0","flags",["optional"]],["name","absttl","type","pure-token","display_text","absttl","token","ABSTTL","since","5.0.0","flags",["optional"]],["name","seconds","type","integer","display_text","seconds","token","IDLETIME","since","5.0.0","flags",["optional"]],["name","frequency","type","integer","display_text","frequency","token","FREQ","since","5.0.0","flags",["optional"]]]],"setbit",["summary","Sets or clears the bit at offset of the string value. Creates the key if it doesn't exist.","since","2.2.0","group","bitmap","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","offset","type","integer","display_text","offset"],["name","value","type","integer","display_text","value"]]],"sync",["summary","An internal command used in replication.","since","1.0.0","group","server"],"replconf",["summary","An internal command for configuring the replication stream.","since","3.0.0","group","server","complexity","O(1)","doc_flags",["syscmd"]],"zrevrangebylex",["summary","Returns members in a sorted set within a lexicographical range in reverse order.","since","2.8.9","group","sorted-set","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)).","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`ZRANGE` with the `REV` and `BYLEX` arguments","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","max","type","string","display_text","max"],["name","min","type","string","display_text","min"],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]]]],"pfmerge",["summary","Merges one or more HyperLogLog values into a single key.","since","2.8.9","group","hyperloglog","complexity","O(N) to merge N HyperLogLogs, but with high constant times.","arguments",[["name","destkey","type","key","display_text","destkey","key_spec_index",0],["name","sourcekey","type","key","display_text","sourcekey","key_spec_index",1,"flags",["optional","multiple"]]]],"module",["summary","A container for module commands.","since","4.0.0","group","server","complexity","Depends on subcommand.","subcommands",["module|loadex",["summary","Loads a module using extended parameters.","since","7.0.0","group","server","complexity","O(1)","arguments",[["name","path","type","string","display_text","path"],["name","configs","type","block","token","CONFIG","flags",["optional","multiple","multiple_token"],"arguments",[["name","name","type","string","display_text","name"],["name","value","type","string","display_text","value"]]],["name","args","type","string","display_text","args","token","ARGS","flags",["optional","multiple"]]]],"module|load",["summary","Loads a module.","since","4.0.0","group","server","complexity","O(1)","arguments",[["name","path","type","string","display_text","path"],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"module|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","server","complexity","O(1)"],"module|list",["summary","Returns all loaded modules.","since","4.0.0","group","server","complexity","O(N) where N is the number of loaded modules."],"module|unload",["summary","Unloads a module.","since","4.0.0","group","server","complexity","O(1)","arguments",[["name","name","type","string","display_text","name"]]]]],"mget",["summary","Atomically returns the string values of one or more keys.","since","1.0.0","group","string","complexity","O(N) where N is the number of keys to retrieve.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"readonly",["summary","Enables read-only queries for a connection to a Redis Cluster replica node.","since","3.0.0","group","cluster","complexity","O(1)"],"sadd",["summary","Adds one or more members to a set. Creates the key if it doesn't exist.","since","1.0.0","group","set","complexity","O(1) for each element added, so O(N) to add N elements when the command is called with multiple arguments.","history",[["2.4.0","Accepts multiple `member` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["multiple"]]]],"save",["summary","Synchronously saves the database(s) to disk.","since","1.0.0","group","server","complexity","O(N) where N is the total number of keys in all databases"],"append",["summary","Appends a string to the value of a key. Creates the key if it doesn't exist.","since","2.0.0","group","string","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","value","type","string","display_text","value"]]],"lmpop",["summary","Returns multiple elements from a list after removing them. Deletes the list if the last element was popped.","since","7.0.0","group","list","complexity","O(N+M) where N is the number of provided keys and M is the number of elements returned.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","where","type","oneof","arguments",[["name","left","type","pure-token","display_text","left","token","LEFT"],["name","right","type","pure-token","display_text","right","token","RIGHT"]]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"rpoplpush",["summary","Returns the last element of a list after removing and pushing it to another list. Deletes the list if the last element was popped.","since","1.2.0","group","list","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`LMOVE` with the `RIGHT` and `LEFT` arguments","arguments",[["name","source","type","key","display_text","source","key_spec_index",0],["name","destination","type","key","display_text","destination","key_spec_index",1]]],"zrandmember",["summary","Returns one or more random members from a sorted set.","since","6.2.0","group","sorted-set","complexity","O(N) where N is the number of members returned","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","options","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count"],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]]]]]],"zinter",["summary","Returns the intersect of multiple sorted sets.","since","6.2.0","group","sorted-set","complexity","O(N*K)+O(M*log(M)) worst case with N being the smallest input sorted set, K being the number of input sorted sets and M being the number of elements in the resulting sorted set.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","weight","type","integer","display_text","weight","token","WEIGHTS","flags",["optional","multiple"]],["name","aggregate","type","oneof","token","AGGREGATE","flags",["optional"],"arguments",[["name","sum","type","pure-token","display_text","sum","token","SUM"],["name","min","type","pure-token","display_text","min","token","MIN"],["name","max","type","pure-token","display_text","max","token","MAX"]]],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]]]],"geopos",["summary","Returns the longitude and latitude of members from a geospatial index.","since","3.2.0","group","geo","complexity","O(1) for each member requested.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["optional","multiple"]]]],"sismember",["summary","Determines whether a member belongs to a set.","since","1.0.0","group","set","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member"]]],"sort_ro",["summary","Returns the sorted elements of a list, a set, or a sorted set.","since","7.0.0","group","generic","complexity","O(N+M*log(M)) where N is the number of elements in the list or set to sort, and M the number of returned elements. When the elements are not sorted, complexity is O(N).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","by-pattern","type","pattern","display_text","pattern","key_spec_index",1,"token","BY","flags",["optional"]],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]],["name","get-pattern","type","pattern","display_text","pattern","key_spec_index",1,"token","GET","flags",["optional","multiple","multiple_token"]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]],["name","sorting","type","pure-token","display_text","sorting","token","ALPHA","flags",["optional"]]]],"select",["summary","Changes the selected database.","since","1.0.0","group","connection","complexity","O(1)","arguments",[["name","index","type","integer","display_text","index"]]],"migrate",["summary","Atomically transfers a key from one Redis instance to another.","since","2.6.0","group","generic","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.","history",[["3.0.0","Added the `COPY` and `REPLACE` options."],["3.0.6","Added the `KEYS` option."],["4.0.7","Added the `AUTH` option."],["6.0.0","Added the `AUTH2` option."]],"arguments",[["name","host","type","string","display_text","host"],["name","port","type","integer","display_text","port"],["name","key-selector","type","oneof","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","empty-string","type","pure-token","display_text","empty-string","token",""]]],["name","destination-db","type","integer","display_text","destination-db"],["name","timeout","type","integer","display_text","timeout"],["name","copy","type","pure-token","display_text","copy","token","COPY","since","3.0.0","flags",["optional"]],["name","replace","type","pure-token","display_text","replace","token","REPLACE","since","3.0.0","flags",["optional"]],["name","authentication","type","oneof","flags",["optional"],"arguments",[["name","auth","type","string","display_text","password","token","AUTH","since","4.0.7"],["name","auth2","type","block","token","AUTH2","since","6.0.0","arguments",[["name","username","type","string","display_text","username"],["name","password","type","string","display_text","password"]]]]],["name","keys","type","key","display_text","key","key_spec_index",1,"token","KEYS","since","3.0.6","flags",["optional","multiple"]]]],"hmget",["summary","Returns the values of all fields in a hash.","since","2.0.0","group","hash","complexity","O(N) where N is the number of fields being requested.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field","flags",["multiple"]]]],"ltrim",["summary","Removes elements from both ends a list. Deletes the list if all elements were trimmed.","since","1.0.0","group","list","complexity","O(N) where N is the number of elements to be removed by the operation.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","integer","display_text","start"],["name","stop","type","integer","display_text","stop"]]],"bzpopmax",["summary","Removes and returns the member with the highest score from one or more sorted sets. Blocks until a member available otherwise. Deletes the sorted set if the last element was popped.","since","5.0.0","group","sorted-set","complexity","O(log(N)) with N being the number of elements in the sorted set.","history",[["6.0.0","`timeout` is interpreted as a double instead of an integer."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","timeout","type","double","display_text","timeout"]]],"hscan",["summary","Iterates over fields and values of a hash.","since","2.8.0","group","hash","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","cursor","type","integer","display_text","cursor"],["name","pattern","type","pattern","display_text","pattern","token","MATCH","flags",["optional"]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"replicaof",["summary","Configures a server as replica of another, or promotes it to a master.","since","5.0.0","group","server","complexity","O(1)","arguments",[["name","host","type","string","display_text","host"],["name","port","type","integer","display_text","port"]]],"info",["summary","Returns information and statistics about the server.","since","1.0.0","group","server","complexity","O(1)","history",[["7.0.0","Added support for taking multiple section arguments."]],"arguments",[["name","section","type","string","display_text","section","flags",["optional","multiple"]]]],"unsubscribe",["summary","Stops listening to messages posted to channels.","since","2.0.0","group","pubsub","complexity","O(N) where N is the number of channels to unsubscribe.","arguments",[["name","channel","type","string","display_text","channel","flags",["optional","multiple"]]]],"sintercard",["summary","Returns the number of members of the intersect of multiple sets.","since","7.0.0","group","set","complexity","O(N*M) worst case where N is the cardinality of the smallest set and M is the number of sets.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","limit","type","integer","display_text","limit","token","LIMIT","flags",["optional"]]]],"ttl",["summary","Returns the expiration time in seconds of a key.","since","1.0.0","group","generic","complexity","O(1)","history",[["2.8.0","Added the -2 reply."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"copy",["summary","Copies the value of a key to a new key.","since","6.2.0","group","generic","complexity","O(N) worst case for collections, where N is the number of nested items. O(1) for string values.","arguments",[["name","source","type","key","display_text","source","key_spec_index",0],["name","destination","type","key","display_text","destination","key_spec_index",1],["name","destination-db","type","integer","display_text","destination-db","token","DB","flags",["optional"]],["name","replace","type","pure-token","display_text","replace","token","REPLACE","flags",["optional"]]]],"move",["summary","Moves a key to another database.","since","1.0.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","db","type","integer","display_text","db"]]],"xgroup",["summary","A container for consumer groups commands.","since","5.0.0","group","stream","complexity","Depends on subcommand.","subcommands",["xgroup|delconsumer",["summary","Deletes a consumer from a consumer group.","since","5.0.0","group","stream","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","consumer","type","string","display_text","consumer"]]],"xgroup|createconsumer",["summary","Creates a consumer in a consumer group.","since","6.2.0","group","stream","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","consumer","type","string","display_text","consumer"]]],"xgroup|create",["summary","Creates a consumer group.","since","5.0.0","group","stream","complexity","O(1)","history",[["7.0.0","Added the `entries_read` named argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","id-selector","type","oneof","arguments",[["name","id","type","string","display_text","id"],["name","new-id","type","pure-token","display_text","new-id","token","$"]]],["name","mkstream","type","pure-token","display_text","mkstream","token","MKSTREAM","flags",["optional"]],["name","entries-read","type","integer","display_text","entries-read","token","ENTRIESREAD","flags",["optional"]]]],"xgroup|setid",["summary","Sets the last-delivered ID of a consumer group.","since","5.0.0","group","stream","complexity","O(1)","history",[["7.0.0","Added the optional `entries_read` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","id-selector","type","oneof","arguments",[["name","id","type","string","display_text","id"],["name","new-id","type","pure-token","display_text","new-id","token","$"]]],["name","entriesread","type","integer","display_text","entries-read","token","ENTRIESREAD","flags",["optional"]]]],"xgroup|destroy",["summary","Destroys a consumer group.","since","5.0.0","group","stream","complexity","O(N) where N is the number of entries in the group's pending entries list (PEL).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"]]],"xgroup|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","stream","complexity","O(1)"]]],"expiretime",["summary","Returns the expiration time of a key as a Unix timestamp.","since","7.0.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"keys",["summary","Returns all key names that match a pattern.","since","1.0.0","group","generic","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.","arguments",[["name","pattern","type","pattern","display_text","pattern"]]],"eval",["summary","Executes a server-side Lua script.","since","2.6.0","group","scripting","complexity","Depends on the script that is executed.","arguments",[["name","script","type","string","display_text","script"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["optional","multiple"]],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"xclaim",["summary","Changes, or acquires, ownership of a message in a consumer group, as if the message was delivered a consumer group member.","since","5.0.0","group","stream","complexity","O(log N) with N being the number of messages in the PEL of the consumer group.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","consumer","type","string","display_text","consumer"],["name","min-idle-time","type","string","display_text","min-idle-time"],["name","id","type","string","display_text","id","flags",["multiple"]],["name","ms","type","integer","display_text","ms","token","IDLE","flags",["optional"]],["name","unix-time-milliseconds","type","unix-time","display_text","unix-time-milliseconds","token","TIME","flags",["optional"]],["name","count","type","integer","display_text","count","token","RETRYCOUNT","flags",["optional"]],["name","force","type","pure-token","display_text","force","token","FORCE","flags",["optional"]],["name","justid","type","pure-token","display_text","justid","token","JUSTID","flags",["optional"]],["name","lastid","type","string","display_text","lastid","token","LASTID","flags",["optional"]]]],"zpopmax",["summary","Returns the highest-scoring members from a sorted set after removing them. Deletes the sorted set if the last member was popped.","since","5.0.0","group","sorted-set","complexity","O(log(N)*M) with N being the number of elements in the sorted set, and M being the number of elements popped.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","flags",["optional"]]]],"swapdb",["summary","Swaps two Redis databases.","since","4.0.0","group","server","complexity","O(N) where N is the count of clients watching or blocking on keys from both databases.","arguments",[["name","index1","type","integer","display_text","index1"],["name","index2","type","integer","display_text","index2"]]],"zunion",["summary","Returns the union of multiple sorted sets.","since","6.2.0","group","sorted-set","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.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","weight","type","integer","display_text","weight","token","WEIGHTS","flags",["optional","multiple"]],["name","aggregate","type","oneof","token","AGGREGATE","flags",["optional"],"arguments",[["name","sum","type","pure-token","display_text","sum","token","SUM"],["name","min","type","pure-token","display_text","min","token","MIN"],["name","max","type","pure-token","display_text","max","token","MAX"]]],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]]]],"smove",["summary","Moves a member from one set to another.","since","1.0.0","group","set","complexity","O(1)","arguments",[["name","source","type","key","display_text","source","key_spec_index",0],["name","destination","type","key","display_text","destination","key_spec_index",1],["name","member","type","string","display_text","member"]]],"fcall_ro",["summary","Invokes a read-only function.","since","7.0.0","group","scripting","complexity","Depends on the function that is executed.","arguments",[["name","function","type","string","display_text","function"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["optional","multiple"]],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"hrandfield",["summary","Returns one or more random fields from a hash.","since","6.2.0","group","hash","complexity","O(N) where N is the number of fields returned","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","options","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count"],["name","withvalues","type","pure-token","display_text","withvalues","token","WITHVALUES","flags",["optional"]]]]]],"getbit",["summary","Returns a bit value by offset.","since","2.2.0","group","bitmap","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","offset","type","integer","display_text","offset"]]],"slaveof",["summary","Sets a Redis server as a replica of another, or promotes it to being a master.","since","1.0.0","group","server","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","5.0.0","replaced_by","`REPLICAOF`","arguments",[["name","host","type","string","display_text","host"],["name","port","type","integer","display_text","port"]]],"geodist",["summary","Returns the distance between two members of a geospatial index.","since","3.2.0","group","geo","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member1","type","string","display_text","member1"],["name","member2","type","string","display_text","member2"],["name","unit","type","oneof","flags",["optional"],"arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]]]],"xinfo",["summary","A container for stream introspection commands.","since","5.0.0","group","stream","complexity","Depends on subcommand.","subcommands",["xinfo|groups",["summary","Returns a list of the consumer groups of a stream.","since","5.0.0","group","stream","complexity","O(1)","history",[["7.0.0","Added the `entries-read` and `lag` fields"]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"xinfo|consumers",["summary","Returns a list of the consumers in a consumer group.","since","5.0.0","group","stream","complexity","O(1)","history",[["7.2.0","Added the `inactive` field."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"]]],"xinfo|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","stream","complexity","O(1)"],"xinfo|stream",["summary","Returns information about a stream.","since","5.0.0","group","stream","complexity","O(1)","history",[["6.0.0","Added the `FULL` modifier."],["7.0.0","Added the `max-deleted-entry-id`, `entries-added`, `recorded-first-entry-id`, `entries-read` and `lag` fields"],["7.2.0","Added the `active-time` field, and changed the meaning of `seen-time`."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","full-block","type","block","flags",["optional"],"arguments",[["name","full","type","pure-token","display_text","full","token","FULL"],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]]]]]],"zdiffstore",["summary","Stores the difference of multiple sorted sets in a key.","since","6.2.0","group","sorted-set","complexity","O(L + (N-K)log(N)) worst case where L is the total number of elements in all the sets, N is the size of the first set, and K is the size of the result set.","arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]]]],"command",["summary","Returns detailed information about all commands.","since","2.8.13","group","server","complexity","O(N) where N is the total number of Redis commands","subcommands",["command|docs",["summary","Returns documentary information about one, multiple or all commands.","since","7.0.0","group","server","complexity","O(N) where N is the number of commands to look up","arguments",[["name","command-name","type","string","display_text","command-name","flags",["optional","multiple"]]]],"command|getkeys",["summary","Extracts the key names from an arbitrary command.","since","2.8.13","group","server","complexity","O(N) where N is the number of arguments to the command","arguments",[["name","command","type","string","display_text","command"],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"command|count",["summary","Returns a count of commands.","since","2.8.13","group","server","complexity","O(1)"],"command|getkeysandflags",["summary","Extracts the key names and access flags for an arbitrary command.","since","7.0.0","group","server","complexity","O(N) where N is the number of arguments to the command","arguments",[["name","command","type","string","display_text","command"],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"command|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","server","complexity","O(1)"],"command|list",["summary","Returns a list of command names.","since","7.0.0","group","server","complexity","O(N) where N is the total number of Redis commands","arguments",[["name","filterby","type","oneof","token","FILTERBY","flags",["optional"],"arguments",[["name","module-name","type","string","display_text","module-name","token","MODULE"],["name","category","type","string","display_text","category","token","ACLCAT"],["name","pattern","type","pattern","display_text","pattern","token","PATTERN"]]]]],"command|info",["summary","Returns information about one, multiple or all commands.","since","2.8.13","group","server","complexity","O(N) where N is the number of commands to look up","history",[["7.0.0","Allowed to be called with no argument to get info on all commands."]],"arguments",[["name","command-name","type","string","display_text","command-name","flags",["optional","multiple"]]]]]],"hstrlen",["summary","Returns the length of the value of a field.","since","3.2.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field"]]],"config",["summary","A container for server configuration commands.","since","2.0.0","group","server","complexity","Depends on subcommand.","subcommands",["config|rewrite",["summary","Persists the effective configuration to file.","since","2.8.0","group","server","complexity","O(1)"],"config|resetstat",["summary","Resets the server's statistics.","since","2.0.0","group","server","complexity","O(1)"],"config|set",["summary","Sets configuration parameters in-flight.","since","2.0.0","group","server","complexity","O(N) when N is the number of configuration parameters provided","history",[["7.0.0","Added the ability to set multiple parameters in one call."]],"arguments",[["name","data","type","block","flags",["multiple"],"arguments",[["name","parameter","type","string","display_text","parameter"],["name","value","type","string","display_text","value"]]]]],"config|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","server","complexity","O(1)"],"config|get",["summary","Returns the effective values of configuration parameters.","since","2.0.0","group","server","complexity","O(N) when N is the number of configuration parameters provided","history",[["7.0.0","Added the ability to pass multiple pattern parameters in one call"]],"arguments",[["name","parameter","type","string","display_text","parameter","flags",["multiple"]]]]]],"zremrangebylex",["summary","Removes members in a sorted set within a lexicographical range. Deletes the sorted set if all members were removed.","since","2.8.9","group","sorted-set","complexity","O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements removed by the operation.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","min","type","string","display_text","min"],["name","max","type","string","display_text","max"]]],"pfselftest",["summary","An internal command for testing HyperLogLog values.","since","2.8.9","group","hyperloglog","complexity","N/A","doc_flags",["syscmd"]],"quit",["summary","Closes the connection.","since","1.0.0","group","connection","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","7.2.0","replaced_by","just closing the connection"],"setnx",["summary","Set the string value of a key only when the key doesn't exist.","since","1.0.0","group","string","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","2.6.12","replaced_by","`SET` with the `NX` argument","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","value","type","string","display_text","value"]]],"geosearch",["summary","Queries a geospatial index for members inside an area of a box or a circle.","since","6.2.0","group","geo","complexity","O(N+log(M)) where N is the number of elements in the grid-aligned bounding box area around the shape provided as the filter and M is the number of items inside the shape","history",[["7.0.0","Added support for uppercase unit names."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","from","type","oneof","arguments",[["name","member","type","string","display_text","member","token","FROMMEMBER"],["name","fromlonlat","type","block","token","FROMLONLAT","arguments",[["name","longitude","type","double","display_text","longitude"],["name","latitude","type","double","display_text","latitude"]]]]],["name","by","type","oneof","arguments",[["name","circle","type","block","arguments",[["name","radius","type","double","display_text","radius","token","BYRADIUS"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]]]],["name","box","type","block","arguments",[["name","width","type","double","display_text","width","token","BYBOX"],["name","height","type","double","display_text","height"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]]]]]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]],["name","count-block","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count","token","COUNT"],["name","any","type","pure-token","display_text","any","token","ANY","flags",["optional"]]]],["name","withcoord","type","pure-token","display_text","withcoord","token","WITHCOORD","flags",["optional"]],["name","withdist","type","pure-token","display_text","withdist","token","WITHDIST","flags",["optional"]],["name","withhash","type","pure-token","display_text","withhash","token","WITHHASH","flags",["optional"]]]],"pexpire",["summary","Sets the expiration time of a key in milliseconds.","since","2.6.0","group","generic","complexity","O(1)","history",[["7.0.0","Added options: `NX`, `XX`, `GT` and `LT`."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","milliseconds","type","integer","display_text","milliseconds"],["name","condition","type","oneof","since","7.0.0","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"],["name","gt","type","pure-token","display_text","gt","token","GT"],["name","lt","type","pure-token","display_text","lt","token","LT"]]]]],"reset",["summary","Resets the connection.","since","6.2.0","group","connection","complexity","O(1)"],"zlexcount",["summary","Returns the number of members in a sorted set within a lexicographical range.","since","2.8.9","group","sorted-set","complexity","O(log(N)) with N being the number of elements in the sorted set.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","min","type","string","display_text","min"],["name","max","type","string","display_text","max"]]],"georadiusbymember_ro",["summary","Returns members from a geospatial index that are within a distance from a member.","since","3.2.10","group","geo","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.","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`GEOSEARCH` with the `BYRADIUS` and `FROMMEMBER` arguments","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member"],["name","radius","type","double","display_text","radius"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]],["name","withcoord","type","pure-token","display_text","withcoord","token","WITHCOORD","flags",["optional"]],["name","withdist","type","pure-token","display_text","withdist","token","WITHDIST","flags",["optional"]],["name","withhash","type","pure-token","display_text","withhash","token","WITHHASH","flags",["optional"]],["name","count-block","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count","token","COUNT"],["name","any","type","pure-token","display_text","any","token","ANY","flags",["optional"]]]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]]]],"monitor",["summary","Listens for all requests received by the server in real-time.","since","1.0.0","group","server"],"unwatch",["summary","Forgets about watched keys of a transaction.","since","2.2.0","group","transactions","complexity","O(1)"],"zscore",["summary","Returns the score of a member in a sorted set.","since","1.2.0","group","sorted-set","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member"]]],"slowlog",["summary","A container for slow log commands.","since","2.2.12","group","server","complexity","Depends on subcommand.","subcommands",["slowlog|help",["summary","Show helpful text about the different subcommands","since","6.2.0","group","server","complexity","O(1)"],"slowlog|reset",["summary","Clears all entries from the slow log.","since","2.2.12","group","server","complexity","O(N) where N is the number of entries in the slowlog"],"slowlog|len",["summary","Returns the number of entries in the slow log.","since","2.2.12","group","server","complexity","O(1)"],"slowlog|get",["summary","Returns the slow log's entries.","since","2.2.12","group","server","complexity","O(N) where N is the number of entries returned","history",[["4.0.0","Added client IP address, port and name to the reply."]],"arguments",[["name","count","type","integer","display_text","count","flags",["optional"]]]]]],"lmove",["summary","Returns an element after popping it from one list and pushing it to another. Deletes the list if the last element was moved.","since","6.2.0","group","list","complexity","O(1)","arguments",[["name","source","type","key","display_text","source","key_spec_index",0],["name","destination","type","key","display_text","destination","key_spec_index",1],["name","wherefrom","type","oneof","arguments",[["name","left","type","pure-token","display_text","left","token","LEFT"],["name","right","type","pure-token","display_text","right","token","RIGHT"]]],["name","whereto","type","oneof","arguments",[["name","left","type","pure-token","display_text","left","token","LEFT"],["name","right","type","pure-token","display_text","right","token","RIGHT"]]]]],"role",["summary","Returns the replication role.","since","2.8.12","group","server","complexity","O(1)"],"hget",["summary","Returns the value of a field in a hash.","since","2.0.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field"]]],"pexpireat",["summary","Sets the expiration time of a key to a Unix milliseconds timestamp.","since","2.6.0","group","generic","complexity","O(1)","history",[["7.0.0","Added options: `NX`, `XX`, `GT` and `LT`."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","unix-time-milliseconds","type","unix-time","display_text","unix-time-milliseconds"],["name","condition","type","oneof","since","7.0.0","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"],["name","gt","type","pure-token","display_text","gt","token","GT"],["name","lt","type","pure-token","display_text","lt","token","LT"]]]]],"strlen",["summary","Returns the length of a string value.","since","2.2.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"xtrim",["summary","Deletes messages from the beginning of a stream.","since","5.0.0","group","stream","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.","history",[["6.2.0","Added the `MINID` trimming strategy and the `LIMIT` option."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","trim","type","block","arguments",[["name","strategy","type","oneof","arguments",[["name","maxlen","type","pure-token","display_text","maxlen","token","MAXLEN"],["name","minid","type","pure-token","display_text","minid","token","MINID","since","6.2.0"]]],["name","operator","type","oneof","flags",["optional"],"arguments",[["name","equal","type","pure-token","display_text","equal","token","="],["name","approximately","type","pure-token","display_text","approximately","token","~"]]],["name","threshold","type","string","display_text","threshold"],["name","count","type","integer","display_text","count","token","LIMIT","since","6.2.0","flags",["optional"]]]]]],"dump",["summary","Returns a serialized representation of the value stored at a key.","since","2.6.0","group","generic","complexity","O(1) to access the key and additional O(N*M) to serialize 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).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"flushall",["summary","Removes all keys from all databases.","since","1.0.0","group","server","complexity","O(N) where N is the total number of keys in all databases","history",[["4.0.0","Added the `ASYNC` flushing mode modifier."],["6.2.0","Added the `SYNC` flushing mode modifier."]],"arguments",[["name","flush-type","type","oneof","flags",["optional"],"arguments",[["name","async","type","pure-token","display_text","async","token","ASYNC","since","4.0.0"],["name","sync","type","pure-token","display_text","sync","token","SYNC","since","6.2.0"]]]]],"shutdown",["summary","Synchronously saves the database(s) to disk and shuts down the Redis server.","since","1.0.0","group","server","complexity","O(N) when saving, where N is the total number of keys in all databases when saving data, otherwise O(1)","history",[["7.0.0","Added the `NOW`, `FORCE` and `ABORT` modifiers."]],"arguments",[["name","save-selector","type","oneof","flags",["optional"],"arguments",[["name","nosave","type","pure-token","display_text","nosave","token","NOSAVE"],["name","save","type","pure-token","display_text","save","token","SAVE"]]],["name","now","type","pure-token","display_text","now","token","NOW","since","7.0.0","flags",["optional"]],["name","force","type","pure-token","display_text","force","token","FORCE","since","7.0.0","flags",["optional"]],["name","abort","type","pure-token","display_text","abort","token","ABORT","since","7.0.0","flags",["optional"]]]],"lpos",["summary","Returns the index of matching elements in a list.","since","6.0.6","group","list","complexity","O(N) where N is the number of elements in the list, for the average case. When searching for elements near the head or the tail of the list, or when the MAXLEN option is provided, the command may run in constant time.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","element","type","string","display_text","element"],["name","rank","type","integer","display_text","rank","token","RANK","flags",["optional"]],["name","num-matches","type","integer","display_text","num-matches","token","COUNT","flags",["optional"]],["name","len","type","integer","display_text","len","token","MAXLEN","flags",["optional"]]]],"auth",["summary","Authenticates the connection.","since","1.0.0","group","connection","complexity","O(N) where N is the number of passwords defined for the user","history",[["6.0.0","Added ACL style (username and password)."]],"arguments",[["name","username","type","string","display_text","username","since","6.0.0","flags",["optional"]],["name","password","type","string","display_text","password"]]],"smismember",["summary","Determines whether multiple members belong to a set.","since","6.2.0","group","set","complexity","O(N) where N is the number of elements being checked for membership","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["multiple"]]]],"getdel",["summary","Returns the string value of a key after deleting the key.","since","6.2.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"bitfield_ro",["summary","Performs arbitrary read-only bitfield integer operations on strings.","since","6.0.0","group","bitmap","complexity","O(1) for each subcommand specified","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","get-block","type","block","token","GET","flags",["optional","multiple","multiple_token"],"arguments",[["name","encoding","type","string","display_text","encoding"],["name","offset","type","integer","display_text","offset"]]]]],"touch",["summary","Returns the number of existing keys out of those specified after updating the time they were last accessed.","since","3.2.1","group","generic","complexity","O(N) where N is the number of keys that will be touched.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"eval_ro",["summary","Executes a read-only server-side Lua script.","since","7.0.0","group","scripting","complexity","Depends on the script that is executed.","arguments",[["name","script","type","string","display_text","script"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["optional","multiple"]],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"xsetid",["summary","An internal command for replicating stream values.","since","5.0.0","group","stream","complexity","O(1)","history",[["7.0.0","Added the `entries_added` and `max_deleted_entry_id` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","last-id","type","string","display_text","last-id"],["name","entries-added","type","integer","display_text","entries-added","token","ENTRIESADDED","since","7.0.0","flags",["optional"]],["name","max-deleted-id","type","string","display_text","max-deleted-id","token","MAXDELETEDID","since","7.0.0","flags",["optional"]]]],"blmpop",["summary","Pops the first element from one of multiple lists. Blocks until an element is available otherwise. Deletes the list if the last element was popped.","since","7.0.0","group","list","complexity","O(N+M) where N is the number of provided keys and M is the number of elements returned.","arguments",[["name","timeout","type","double","display_text","timeout"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","where","type","oneof","arguments",[["name","left","type","pure-token","display_text","left","token","LEFT"],["name","right","type","pure-token","display_text","right","token","RIGHT"]]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"subscribe",["summary","Listens for messages published to channels.","since","2.0.0","group","pubsub","complexity","O(N) where N is the number of channels to subscribe to.","arguments",[["name","channel","type","string","display_text","channel","flags",["multiple"]]]],"waitaof",["summary","Blocks until all of the preceding write commands sent by the connection are written to the append-only file of the master and/or replicas.","since","7.2.0","group","generic","complexity","O(1)","arguments",[["name","numlocal","type","integer","display_text","numlocal"],["name","numreplicas","type","integer","display_text","numreplicas"],["name","timeout","type","integer","display_text","timeout"]]],"bgsave",["summary","Asynchronously saves the database(s) to disk.","since","1.0.0","group","server","complexity","O(1)","history",[["3.2.2","Added the `SCHEDULE` option."]],"arguments",[["name","schedule","type","pure-token","display_text","schedule","token","SCHEDULE","since","3.2.2","flags",["optional"]]]],"lrange",["summary","Returns a range of elements from a list.","since","1.0.0","group","list","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","integer","display_text","start"],["name","stop","type","integer","display_text","stop"]]],"incrby",["summary","Increments the integer value of a key by a number. Uses 0 as initial value if the key doesn't exist.","since","1.0.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","increment","type","integer","display_text","increment"]]],"zrangebylex",["summary","Returns members in a sorted set within a lexicographical range.","since","2.8.9","group","sorted-set","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)).","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`ZRANGE` with the `BYLEX` argument","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","min","type","string","display_text","min"],["name","max","type","string","display_text","max"],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]]]],"expireat",["summary","Sets the expiration time of a key to a Unix timestamp.","since","1.2.0","group","generic","complexity","O(1)","history",[["7.0.0","Added options: `NX`, `XX`, `GT` and `LT`."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","unix-time-seconds","type","unix-time","display_text","unix-time-seconds"],["name","condition","type","oneof","since","7.0.0","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"],["name","gt","type","pure-token","display_text","gt","token","GT"],["name","lt","type","pure-token","display_text","lt","token","LT"]]]]],"hexists",["summary","Determines whether a field exists in a hash.","since","2.0.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field"]]],"zrangebyscore",["summary","Returns members in a sorted set within a range of scores.","since","1.0.5","group","sorted-set","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)).","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`ZRANGE` with the `BYSCORE` argument","history",[["2.0.0","Added the `WITHSCORES` modifier."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","min","type","double","display_text","min"],["name","max","type","double","display_text","max"],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","since","2.0.0","flags",["optional"]],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]]]],"hgetall",["summary","Returns all fields and values in a hash.","since","2.0.0","group","hash","complexity","O(N) where N is the size of the hash.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"bitcount",["summary","Counts the number of set bits (population counting) in a string.","since","2.6.0","group","bitmap","complexity","O(N)","history",[["7.0.0","Added the `BYTE|BIT` option."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","range","type","block","flags",["optional"],"arguments",[["name","start","type","integer","display_text","start"],["name","end","type","integer","display_text","end"],["name","unit","type","oneof","since","7.0.0","flags",["optional"],"arguments",[["name","byte","type","pure-token","display_text","byte","token","BYTE"],["name","bit","type","pure-token","display_text","bit","token","BIT"]]]]]]],"hsetnx",["summary","Sets the value of a field in a hash only when the field doesn't exist.","since","2.0.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field"],["name","value","type","string","display_text","value"]]],"zrangestore",["summary","Stores a range of members from sorted set in a key.","since","6.2.0","group","sorted-set","complexity","O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements stored into the destination key.","arguments",[["name","dst","type","key","display_text","dst","key_spec_index",0],["name","src","type","key","display_text","src","key_spec_index",1],["name","min","type","string","display_text","min"],["name","max","type","string","display_text","max"],["name","sortby","type","oneof","flags",["optional"],"arguments",[["name","byscore","type","pure-token","display_text","byscore","token","BYSCORE"],["name","bylex","type","pure-token","display_text","bylex","token","BYLEX"]]],["name","rev","type","pure-token","display_text","rev","token","REV","flags",["optional"]],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]]]],"hello",["summary","Handshakes with the Redis server.","since","6.0.0","group","connection","complexity","O(1)","history",[["6.2.0","`protover` made optional; when called without arguments the command reports the current connection's context."]],"arguments",[["name","arguments","type","block","flags",["optional"],"arguments",[["name","protover","type","integer","display_text","protover"],["name","auth","type","block","token","AUTH","flags",["optional"],"arguments",[["name","username","type","string","display_text","username"],["name","password","type","string","display_text","password"]]],["name","clientname","type","string","display_text","clientname","token","SETNAME","flags",["optional"]]]]]],"time",["summary","Returns the server time.","since","2.6.0","group","server","complexity","O(1)"],"srandmember",["summary","Get one or multiple random members from a set","since","1.0.0","group","set","complexity","Without the count argument O(1), otherwise O(N) where N is the absolute value of the passed count.","history",[["2.6.0","Added the optional `count` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","since","2.6.0","flags",["optional"]]]],"msetnx",["summary","Atomically modifies the string values of one or more keys only when all keys don't exist.","since","1.0.1","group","string","complexity","O(N) where N is the number of keys to set.","arguments",[["name","data","type","block","flags",["multiple"],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","value","type","string","display_text","value"]]]]],"hincrbyfloat",["summary","Increments the floating point value of a field by a number. Uses 0 as initial value if the field doesn't exist.","since","2.6.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field"],["name","increment","type","double","display_text","increment"]]],"script",["summary","A container for Lua scripts management commands.","since","2.6.0","group","scripting","complexity","Depends on subcommand.","subcommands",["script|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","scripting","complexity","O(1)"],"script|flush",["summary","Removes all server-side Lua scripts from the script cache.","since","2.6.0","group","scripting","complexity","O(N) with N being the number of scripts in cache","history",[["6.2.0","Added the `ASYNC` and `SYNC` flushing mode modifiers."]],"arguments",[["name","flush-type","type","oneof","since","6.2.0","flags",["optional"],"arguments",[["name","async","type","pure-token","display_text","async","token","ASYNC"],["name","sync","type","pure-token","display_text","sync","token","SYNC"]]]]],"script|debug",["summary","Sets the debug mode of server-side Lua scripts.","since","3.2.0","group","scripting","complexity","O(1)","arguments",[["name","mode","type","oneof","arguments",[["name","yes","type","pure-token","display_text","yes","token","YES"],["name","sync","type","pure-token","display_text","sync","token","SYNC"],["name","no","type","pure-token","display_text","no","token","NO"]]]]],"script|load",["summary","Loads a server-side Lua script to the script cache.","since","2.6.0","group","scripting","complexity","O(N) with N being the length in bytes of the script body.","arguments",[["name","script","type","string","display_text","script"]]],"script|kill",["summary","Terminates a server-side Lua script during execution.","since","2.6.0","group","scripting","complexity","O(1)"],"script|exists",["summary","Determines whether server-side Lua scripts exist in the script cache.","since","2.6.0","group","scripting","complexity","O(N) with N being the number of scripts to check (so checking a single script is an O(1) operation).","arguments",[["name","sha1","type","string","display_text","sha1","flags",["multiple"]]]]]],"incr",["summary","Increments the integer value of a key by one. Uses 0 as initial value if the key doesn't exist.","since","1.0.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"zmpop",["summary","Returns the highest- or lowest-scoring members from one or more sorted sets after removing them. Deletes the sorted set if the last member was popped.","since","7.0.0","group","sorted-set","complexity","O(K) + O(M*log(N)) where K is the number of provided keys, N being the number of elements in the sorted set, and M being the number of elements popped.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","where","type","oneof","arguments",[["name","min","type","pure-token","display_text","min","token","MIN"],["name","max","type","pure-token","display_text","max","token","MAX"]]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"spublish",["summary","Post a message to a shard channel","since","7.0.0","group","pubsub","complexity","O(N) where N is the number of clients subscribed to the receiving shard channel.","arguments",[["name","shardchannel","type","string","display_text","shardchannel"],["name","message","type","string","display_text","message"]]],"acl",["summary","A container for Access List Control commands.","since","6.0.0","group","server","complexity","Depends on subcommand.","subcommands",["acl|list",["summary","Dumps the effective rules in ACL file format.","since","6.0.0","group","server","complexity","O(N). Where N is the number of configured users."],"acl|dryrun",["summary","Simulates the execution of a command by a user, without executing the command.","since","7.0.0","group","server","complexity","O(1).","arguments",[["name","username","type","string","display_text","username"],["name","command","type","string","display_text","command"],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"acl|getuser",["summary","Lists the ACL rules of a user.","since","6.0.0","group","server","complexity","O(N). Where N is the number of password, command and pattern rules that the user has.","history",[["6.2.0","Added Pub/Sub channel patterns."],["7.0.0","Added selectors and changed the format of key and channel patterns from a list to their rule representation."]],"arguments",[["name","username","type","string","display_text","username"]]],"acl|save",["summary","Saves the effective ACL rules in the configured ACL file.","since","6.0.0","group","server","complexity","O(N). Where N is the number of configured users."],"acl|setuser",["summary","Creates and modifies an ACL user and its rules.","since","6.0.0","group","server","complexity","O(N). Where N is the number of rules provided.","history",[["6.2.0","Added Pub/Sub channel patterns."],["7.0.0","Added selectors and key based permissions."]],"arguments",[["name","username","type","string","display_text","username"],["name","rule","type","string","display_text","rule","flags",["optional","multiple"]]]],"acl|whoami",["summary","Returns the authenticated username of the current connection.","since","6.0.0","group","server","complexity","O(1)"],"acl|genpass",["summary","Generates a pseudorandom, secure password that can be used to identify ACL users.","since","6.0.0","group","server","complexity","O(1)","arguments",[["name","bits","type","integer","display_text","bits","flags",["optional"]]]],"acl|cat",["summary","Lists the ACL categories, or the commands inside a category.","since","6.0.0","group","server","complexity","O(1) since the categories and commands are a fixed set.","arguments",[["name","category","type","string","display_text","category","flags",["optional"]]]],"acl|help",["summary","Returns helpful text about the different subcommands.","since","6.0.0","group","server","complexity","O(1)"],"acl|users",["summary","Lists all ACL users.","since","6.0.0","group","server","complexity","O(N). Where N is the number of configured users."],"acl|load",["summary","Reloads the rules from the configured ACL file.","since","6.0.0","group","server","complexity","O(N). Where N is the number of configured users."],"acl|deluser",["summary","Deletes ACL users, and terminates their connections.","since","6.0.0","group","server","complexity","O(1) amortized time considering the typical user.","arguments",[["name","username","type","string","display_text","username","flags",["multiple"]]]],"acl|log",["summary","Lists recent security events generated due to ACL rules.","since","6.0.0","group","server","complexity","O(N) with N being the number of entries shown.","history",[["7.2.0","Added entry ID, timestamp created, and timestamp last updated."]],"arguments",[["name","operation","type","oneof","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count"],["name","reset","type","pure-token","display_text","reset","token","RESET"]]]]]]],"publish",["summary","Posts a message to a channel.","since","2.0.0","group","pubsub","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).","arguments",[["name","channel","type","string","display_text","channel"],["name","message","type","string","display_text","message"]]],"decr",["summary","Decrements the integer value of a key by one. Uses 0 as initial value if the key doesn't exist.","since","1.0.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"brpop",["summary","Removes and returns the last element in a list. Blocks until an element is available otherwise. Deletes the list if the last element was popped.","since","2.0.0","group","list","complexity","O(N) where N is the number of provided keys.","history",[["6.0.0","`timeout` is interpreted as a double instead of an integer."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","timeout","type","double","display_text","timeout"]]],"hvals",["summary","Returns all values in a hash.","since","2.0.0","group","hash","complexity","O(N) where N is the size of the hash.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"failover",["summary","Starts a coordinated failover from a server to one of its replicas.","since","6.2.0","group","server","complexity","O(1)","arguments",[["name","target","type","block","token","TO","flags",["optional"],"arguments",[["name","host","type","string","display_text","host"],["name","port","type","integer","display_text","port"],["name","force","type","pure-token","display_text","force","token","FORCE","flags",["optional"]]]],["name","abort","type","pure-token","display_text","abort","token","ABORT","flags",["optional"]],["name","milliseconds","type","integer","display_text","milliseconds","token","TIMEOUT","flags",["optional"]]]],"zdiff",["summary","Returns the difference between multiple sorted sets.","since","6.2.0","group","sorted-set","complexity","O(L + (N-K)log(N)) worst case where L is the total number of elements in all the sets, N is the size of the first set, and K is the size of the result set.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]]]],"zrevrank",["summary","Returns the index of a member in a sorted set ordered by descending scores.","since","2.0.0","group","sorted-set","complexity","O(log(N))","history",[["7.2.0","Added the optional `WITHSCORE` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member"],["name","withscore","type","pure-token","display_text","withscore","token","WITHSCORE","flags",["optional"]]]],"pexpiretime",["summary","Returns the expiration time of a key as a Unix milliseconds timestamp.","since","7.0.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"lrem",["summary","Removes elements from a list. Deletes the list if the last element was removed.","since","1.0.0","group","list","complexity","O(N+M) where N is the length of the list and M is the number of elements removed.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count"],["name","element","type","string","display_text","element"]]],"lpushx",["summary","Prepends one or more elements to a list only when the list exists.","since","2.2.0","group","list","complexity","O(1) for each element added, so O(N) to add N elements when the command is called with multiple arguments.","history",[["4.0.0","Accepts multiple `element` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","element","type","string","display_text","element","flags",["multiple"]]]],"mset",["summary","Atomically creates or modifies the string values of one or more keys.","since","1.0.1","group","string","complexity","O(N) where N is the number of keys to set.","arguments",[["name","data","type","block","flags",["multiple"],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","value","type","string","display_text","value"]]]]],"xpending",["summary","Returns the information and entries from a stream consumer group's pending entries list.","since","5.0.0","group","stream","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). O(M), where M is the total number of entries scanned when used with the IDLE filter. When the command returns just the summary and the list of consumers is small, it runs in O(1) time; otherwise, an additional O(N) time for iterating every consumer.","history",[["6.2.0","Added the `IDLE` option and exclusive range intervals."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","filters","type","block","flags",["optional"],"arguments",[["name","min-idle-time","type","integer","display_text","min-idle-time","token","IDLE","since","6.2.0","flags",["optional"]],["name","start","type","string","display_text","start"],["name","end","type","string","display_text","end"],["name","count","type","integer","display_text","count"],["name","consumer","type","string","display_text","consumer","flags",["optional"]]]]]],"linsert",["summary","Inserts an element before or after another element in a list.","since","2.2.0","group","list","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).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","where","type","oneof","arguments",[["name","before","type","pure-token","display_text","before","token","BEFORE"],["name","after","type","pure-token","display_text","after","token","AFTER"]]],["name","pivot","type","string","display_text","pivot"],["name","element","type","string","display_text","element"]]],"blpop",["summary","Removes and returns the first element in a list. Blocks until an element is available otherwise. Deletes the list if the last element was popped.","since","2.0.0","group","list","complexity","O(N) where N is the number of provided keys.","history",[["6.0.0","`timeout` is interpreted as a double instead of an integer."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","timeout","type","double","display_text","timeout"]]],"rpush",["summary","Appends one or more elements to a list. Creates the key if it doesn't exist.","since","1.0.0","group","list","complexity","O(1) for each element added, so O(N) to add N elements when the command is called with multiple arguments.","history",[["2.4.0","Accepts multiple `element` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","element","type","string","display_text","element","flags",["multiple"]]]],"pttl",["summary","Returns the expiration time in milliseconds of a key.","since","2.6.0","group","generic","complexity","O(1)","history",[["2.8.0","Added the -2 reply."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"getex",["summary","Returns the string value of a key after setting its expiration time.","since","6.2.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","expiration","type","oneof","flags",["optional"],"arguments",[["name","seconds","type","integer","display_text","seconds","token","EX"],["name","milliseconds","type","integer","display_text","milliseconds","token","PX"],["name","unix-time-seconds","type","unix-time","display_text","unix-time-seconds","token","EXAT"],["name","unix-time-milliseconds","type","unix-time","display_text","unix-time-milliseconds","token","PXAT"],["name","persist","type","pure-token","display_text","persist","token","PERSIST"]]]]],"xrevrange",["summary","Returns the messages from a stream within a range of IDs in reverse order.","since","5.0.0","group","stream","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).","history",[["6.2.0","Added exclusive ranges."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","end","type","string","display_text","end"],["name","start","type","string","display_text","start"],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"decrby",["summary","Decrements a number from the integer value of a key. Uses 0 as initial value if the key doesn't exist.","since","1.0.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","decrement","type","integer","display_text","decrement"]]],"psubscribe",["summary","Listens for messages published to channels that match one or more patterns.","since","2.0.0","group","pubsub","complexity","O(N) where N is the number of patterns to subscribe to.","arguments",[["name","pattern","type","pattern","display_text","pattern","flags",["multiple"]]]],"ping",["summary","Returns the server's liveliness response.","since","1.0.0","group","connection","complexity","O(1)","arguments",[["name","message","type","string","display_text","message","flags",["optional"]]]],"bitpos",["summary","Finds the first set (1) or clear (0) bit in a string.","since","2.8.7","group","bitmap","complexity","O(N)","history",[["7.0.0","Added the `BYTE|BIT` option."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","bit","type","integer","display_text","bit"],["name","range","type","block","flags",["optional"],"arguments",[["name","start","type","integer","display_text","start"],["name","end-unit-block","type","block","flags",["optional"],"arguments",[["name","end","type","integer","display_text","end"],["name","unit","type","oneof","since","7.0.0","flags",["optional"],"arguments",[["name","byte","type","pure-token","display_text","byte","token","BYTE"],["name","bit","type","pure-token","display_text","bit","token","BIT"]]]]]]]]],"xreadgroup",["summary","Returns new or historical messages from a stream for a consumer in a group. Blocks until a message is available otherwise.","since","5.0.0","group","stream","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.","arguments",[["name","group-block","type","block","token","GROUP","arguments",[["name","group","type","string","display_text","group"],["name","consumer","type","string","display_text","consumer"]]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]],["name","milliseconds","type","integer","display_text","milliseconds","token","BLOCK","flags",["optional"]],["name","noack","type","pure-token","display_text","noack","token","NOACK","flags",["optional"]],["name","streams","type","block","token","STREAMS","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","id","type","string","display_text","id","flags",["multiple"]]]]]],"blmove",["summary","Pops an element from a list, pushes it to another list and returns it. Blocks until an element is available otherwise. Deletes the list if the last element was moved.","since","6.2.0","group","list","complexity","O(1)","arguments",[["name","source","type","key","display_text","source","key_spec_index",0],["name","destination","type","key","display_text","destination","key_spec_index",1],["name","wherefrom","type","oneof","arguments",[["name","left","type","pure-token","display_text","left","token","LEFT"],["name","right","type","pure-token","display_text","right","token","RIGHT"]]],["name","whereto","type","oneof","arguments",[["name","left","type","pure-token","display_text","left","token","LEFT"],["name","right","type","pure-token","display_text","right","token","RIGHT"]]],["name","timeout","type","double","display_text","timeout"]]],"geoadd",["summary","Adds one or more members to a geospatial index. The key is created if it doesn't exist.","since","3.2.0","group","geo","complexity","O(log(N)) for each item added, where N is the number of elements in the sorted set.","history",[["6.2.0","Added the `CH`, `NX` and `XX` options."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","condition","type","oneof","since","6.2.0","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"]]],["name","change","type","pure-token","display_text","change","token","CH","since","6.2.0","flags",["optional"]],["name","data","type","block","flags",["multiple"],"arguments",[["name","longitude","type","double","display_text","longitude"],["name","latitude","type","double","display_text","latitude"],["name","member","type","string","display_text","member"]]]]],"pfadd",["summary","Adds elements to a HyperLogLog key. Creates the key if it doesn't exist.","since","2.8.9","group","hyperloglog","complexity","O(1) to add every element.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","element","type","string","display_text","element","flags",["optional","multiple"]]]],"sort",["summary","Sorts the elements in a list, a set, or a sorted set, optionally storing the result.","since","1.0.0","group","generic","complexity","O(N+M*log(M)) where N is the number of elements in the list or set to sort, and M the number of returned elements. When the elements are not sorted, complexity is O(N).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","by-pattern","type","pattern","display_text","pattern","key_spec_index",1,"token","BY","flags",["optional"]],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]],["name","get-pattern","type","pattern","display_text","pattern","key_spec_index",1,"token","GET","flags",["optional","multiple","multiple_token"]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]],["name","sorting","type","pure-token","display_text","sorting","token","ALPHA","flags",["optional"]],["name","destination","type","key","display_text","destination","key_spec_index",2,"token","STORE","flags",["optional"]]]],"zcard",["summary","Returns the number of members in a sorted set.","since","1.2.0","group","sorted-set","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"psync",["summary","An internal command used in replication.","since","2.8.0","group","server","arguments",[["name","replicationid","type","string","display_text","replicationid"],["name","offset","type","integer","display_text","offset"]]],"sdiffstore",["summary","Stores the difference of multiple sets in a key.","since","1.0.0","group","set","complexity","O(N) where N is the total number of elements in all given sets.","arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]]]],"flushdb",["summary","Remove all keys from the current database.","since","1.0.0","group","server","complexity","O(N) where N is the number of keys in the selected database","history",[["4.0.0","Added the `ASYNC` flushing mode modifier."],["6.2.0","Added the `SYNC` flushing mode modifier."]],"arguments",[["name","flush-type","type","oneof","flags",["optional"],"arguments",[["name","async","type","pure-token","display_text","async","token","ASYNC","since","4.0.0"],["name","sync","type","pure-token","display_text","sync","token","SYNC","since","6.2.0"]]]]],"zmscore",["summary","Returns the score of one or more members in a sorted set.","since","6.2.0","group","sorted-set","complexity","O(N) where N is the number of members being requested.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["multiple"]]]],"evalsha_ro",["summary","Executes a read-only server-side Lua script by SHA1 digest.","since","7.0.0","group","scripting","complexity","Depends on the script that is executed.","arguments",[["name","sha1","type","string","display_text","sha1"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["optional","multiple"]],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"bzpopmin",["summary","Removes and returns the member with the lowest score from one or more sorted sets. Blocks until a member is available otherwise. Deletes the sorted set if the last element was popped.","since","5.0.0","group","sorted-set","complexity","O(log(N)) with N being the number of elements in the sorted set.","history",[["6.0.0","`timeout` is interpreted as a double instead of an integer."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","timeout","type","double","display_text","timeout"]]],"pubsub",["summary","A container for Pub/Sub commands.","since","2.8.0","group","pubsub","complexity","Depends on subcommand.","subcommands",["pubsub|numpat",["summary","Returns a count of unique pattern subscriptions.","since","2.8.0","group","pubsub","complexity","O(1)"],"pubsub|help",["summary","Returns helpful text about the different subcommands.","since","6.2.0","group","pubsub","complexity","O(1)"],"pubsub|channels",["summary","Returns the active channels.","since","2.8.0","group","pubsub","complexity","O(N) where N is the number of active channels, and assuming constant time pattern matching (relatively short channels and patterns)","arguments",[["name","pattern","type","pattern","display_text","pattern","flags",["optional"]]]],"pubsub|shardnumsub",["summary","Returns the count of subscribers of shard channels.","since","7.0.0","group","pubsub","complexity","O(N) for the SHARDNUMSUB subcommand, where N is the number of requested shard channels","arguments",[["name","shardchannel","type","string","display_text","shardchannel","flags",["optional","multiple"]]]],"pubsub|shardchannels",["summary","Returns the active shard channels.","since","7.0.0","group","pubsub","complexity","O(N) where N is the number of active shard channels, and assuming constant time pattern matching (relatively short shard channels).","arguments",[["name","pattern","type","pattern","display_text","pattern","flags",["optional"]]]],"pubsub|numsub",["summary","Returns a count of subscribers to channels.","since","2.8.0","group","pubsub","complexity","O(N) for the NUMSUB subcommand, where N is the number of requested channels","arguments",[["name","channel","type","string","display_text","channel","flags",["optional","multiple"]]]]]],"hincrby",["summary","Increments the integer value of a field in a hash by a number. Uses 0 as initial value if the field doesn't exist.","since","2.0.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field"],["name","increment","type","integer","display_text","increment"]]],"bitop",["summary","Performs bitwise operations on multiple strings, and stores the result.","since","2.6.0","group","bitmap","complexity","O(N)","arguments",[["name","operation","type","oneof","arguments",[["name","and","type","pure-token","display_text","and","token","AND"],["name","or","type","pure-token","display_text","or","token","OR"],["name","xor","type","pure-token","display_text","xor","token","XOR"],["name","not","type","pure-token","display_text","not","token","NOT"]]],["name","destkey","type","key","display_text","destkey","key_spec_index",0],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]]]],"rpop",["summary","Returns and removes the last elements of a list. Deletes the list if the last element was popped.","since","1.0.0","group","list","complexity","O(N) where N is the number of elements returned","history",[["6.2.0","Added the `count` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","since","6.2.0","flags",["optional"]]]],"scan",["summary","Iterates over the key names in the database.","since","2.8.0","group","generic","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.","history",[["6.0.0","Added the `TYPE` subcommand."]],"arguments",[["name","cursor","type","integer","display_text","cursor"],["name","pattern","type","pattern","display_text","pattern","token","MATCH","flags",["optional"]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]],["name","type","type","string","display_text","type","token","TYPE","since","6.0.0","flags",["optional"]]]],"bzmpop",["summary","Removes and returns a member by score from one or more sorted sets. Blocks until a member is available otherwise. Deletes the sorted set if the last element was popped.","since","7.0.0","group","sorted-set","complexity","O(K) + O(M*log(N)) where K is the number of provided keys, N being the number of elements in the sorted set, and M being the number of elements popped.","arguments",[["name","timeout","type","double","display_text","timeout"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","where","type","oneof","arguments",[["name","min","type","pure-token","display_text","min","token","MIN"],["name","max","type","pure-token","display_text","max","token","MAX"]]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"smembers",["summary","Returns all members of a set.","since","1.0.0","group","set","complexity","O(N) where N is the set cardinality.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"hlen",["summary","Returns the number of fields in a hash.","since","2.0.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"lpush",["summary","Prepends one or more elements to a list. Creates the key if it doesn't exist.","since","1.0.0","group","list","complexity","O(1) for each element added, so O(N) to add N elements when the command is called with multiple arguments.","history",[["2.4.0","Accepts multiple `element` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","element","type","string","display_text","element","flags",["multiple"]]]],"geohash",["summary","Returns members from a geospatial index as geohash strings.","since","3.2.0","group","geo","complexity","O(1) for each member requested.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["optional","multiple"]]]],"evalsha",["summary","Executes a server-side Lua script by SHA1 digest.","since","2.6.0","group","scripting","complexity","Depends on the script that is executed.","arguments",[["name","sha1","type","string","display_text","sha1"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["optional","multiple"]],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]]] \ No newline at end of file +["mset",["summary","Atomically creates or modifies the string values of one or more keys.","since","1.0.1","group","string","complexity","O(N) where N is the number of keys to set.","arguments",[["name","data","type","block","flags",["multiple"],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","value","type","string","display_text","value"]]]]],"expire",["summary","Sets the expiration time of a key in seconds.","since","1.0.0","group","generic","complexity","O(1)","history",[["7.0.0","Added options: `NX`, `XX`, `GT` and `LT`."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","seconds","type","integer","display_text","seconds"],["name","condition","type","oneof","since","7.0.0","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"],["name","gt","type","pure-token","display_text","gt","token","GT"],["name","lt","type","pure-token","display_text","lt","token","LT"]]]]],"pfmerge",["summary","Merges one or more HyperLogLog values into a single key.","since","2.8.9","group","hyperloglog","complexity","O(N) to merge N HyperLogLogs, but with high constant times.","arguments",[["name","destkey","type","key","display_text","destkey","key_spec_index",0],["name","sourcekey","type","key","display_text","sourcekey","key_spec_index",1,"flags",["optional","multiple"]]]],"xreadgroup",["summary","Returns new or historical messages from a stream for a consumer in a group. Blocks until a message is available otherwise.","since","5.0.0","group","stream","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.","arguments",[["name","group-block","type","block","token","GROUP","arguments",[["name","group","type","string","display_text","group"],["name","consumer","type","string","display_text","consumer"]]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]],["name","milliseconds","type","integer","display_text","milliseconds","token","BLOCK","flags",["optional"]],["name","noack","type","pure-token","display_text","noack","token","NOACK","flags",["optional"]],["name","streams","type","block","token","STREAMS","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","id","type","string","display_text","id","flags",["multiple"]]]]]],"zpopmin",["summary","Returns the lowest-scoring members from a sorted set after removing them. Deletes the sorted set if the last member was popped.","since","5.0.0","group","sorted-set","complexity","O(log(N)*M) with N being the number of elements in the sorted set, and M being the number of elements popped.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","flags",["optional"]]]],"unlink",["summary","Asynchronously deletes one or more keys.","since","4.0.0","group","generic","complexity","O(1) for each key removed regardless of its size. Then the command does O(N) work in a different thread in order to reclaim memory, where N is the number of allocations the deleted objects where composed of.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"hmget",["summary","Returns the values of all fields in a hash.","since","2.0.0","group","hash","complexity","O(N) where N is the number of fields being requested.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field","flags",["multiple"]]]],"fcall",["summary","Invokes a function.","since","7.0.0","group","scripting","complexity","Depends on the function that is executed.","arguments",[["name","function","type","string","display_text","function"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["optional","multiple"]],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"flushdb",["summary","Remove all keys from the current database.","since","1.0.0","group","server","complexity","O(N) where N is the number of keys in the selected database","history",[["4.0.0","Added the `ASYNC` flushing mode modifier."],["6.2.0","Added the `SYNC` flushing mode modifier."]],"arguments",[["name","flush-type","type","oneof","flags",["optional"],"arguments",[["name","async","type","pure-token","display_text","async","token","ASYNC","since","4.0.0"],["name","sync","type","pure-token","display_text","sync","token","SYNC","since","6.2.0"]]]]],"sync",["summary","An internal command used in replication.","since","1.0.0","group","server"],"psync",["summary","An internal command used in replication.","since","2.8.0","group","server","arguments",[["name","replicationid","type","string","display_text","replicationid"],["name","offset","type","integer","display_text","offset"]]],"scan",["summary","Iterates over the key names in the database.","since","2.8.0","group","generic","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.","history",[["6.0.0","Added the `TYPE` subcommand."]],"arguments",[["name","cursor","type","integer","display_text","cursor"],["name","pattern","type","pattern","display_text","pattern","token","MATCH","flags",["optional"]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]],["name","type","type","string","display_text","type","token","TYPE","since","6.0.0","flags",["optional"]]]],"quit",["summary","Closes the connection.","since","1.0.0","group","connection","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","7.2.0","replaced_by","just closing the connection"],"lpush",["summary","Prepends one or more elements to a list. Creates the key if it doesn't exist.","since","1.0.0","group","list","complexity","O(1) for each element added, so O(N) to add N elements when the command is called with multiple arguments.","history",[["2.4.0","Accepts multiple `element` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","element","type","string","display_text","element","flags",["multiple"]]]],"zunionstore",["summary","Stores the union of multiple sorted sets in a key.","since","2.0.0","group","sorted-set","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.","arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]],["name","weight","type","integer","display_text","weight","token","WEIGHTS","flags",["optional","multiple"]],["name","aggregate","type","oneof","token","AGGREGATE","flags",["optional"],"arguments",[["name","sum","type","pure-token","display_text","sum","token","SUM"],["name","min","type","pure-token","display_text","min","token","MIN"],["name","max","type","pure-token","display_text","max","token","MAX"]]]]],"srem",["summary","Removes one or more members from a set. Deletes the set if the last member was removed.","since","1.0.0","group","set","complexity","O(N) where N is the number of members to be removed.","history",[["2.4.0","Accepts multiple `member` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["multiple"]]]],"unwatch",["summary","Forgets about watched keys of a transaction.","since","2.2.0","group","transactions","complexity","O(1)"],"hello",["summary","Handshakes with the Redis server.","since","6.0.0","group","connection","complexity","O(1)","history",[["6.2.0","`protover` made optional; when called without arguments the command reports the current connection's context."]],"arguments",[["name","arguments","type","block","flags",["optional"],"arguments",[["name","protover","type","integer","display_text","protover"],["name","auth","type","block","token","AUTH","flags",["optional"],"arguments",[["name","username","type","string","display_text","username"],["name","password","type","string","display_text","password"]]],["name","clientname","type","string","display_text","clientname","token","SETNAME","flags",["optional"]]]]]],"lcs",["summary","Finds the longest common substring.","since","7.0.0","group","string","complexity","O(N*M) where N and M are the lengths of s1 and s2, respectively","arguments",[["name","key1","type","key","display_text","key1","key_spec_index",0],["name","key2","type","key","display_text","key2","key_spec_index",0],["name","len","type","pure-token","display_text","len","token","LEN","flags",["optional"]],["name","idx","type","pure-token","display_text","idx","token","IDX","flags",["optional"]],["name","min-match-len","type","integer","display_text","min-match-len","token","MINMATCHLEN","flags",["optional"]],["name","withmatchlen","type","pure-token","display_text","withmatchlen","token","WITHMATCHLEN","flags",["optional"]]]],"expiretime",["summary","Returns the expiration time of a key as a Unix timestamp.","since","7.0.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"rpoplpush",["summary","Returns the last element of a list after removing and pushing it to another list. Deletes the list if the last element was popped.","since","1.2.0","group","list","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`LMOVE` with the `RIGHT` and `LEFT` arguments","arguments",[["name","source","type","key","display_text","source","key_spec_index",0],["name","destination","type","key","display_text","destination","key_spec_index",1]]],"zrank",["summary","Returns the index of a member in a sorted set ordered by ascending scores.","since","2.0.0","group","sorted-set","complexity","O(log(N))","history",[["7.2.0","Added the optional `WITHSCORE` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member"],["name","withscore","type","pure-token","display_text","withscore","token","WITHSCORE","flags",["optional"]]]],"pttl",["summary","Returns the expiration time in milliseconds of a key.","since","2.6.0","group","generic","complexity","O(1)","history",[["2.8.0","Added the -2 reply."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"zintercard",["summary","Returns the number of members of the intersect of multiple sorted sets.","since","7.0.0","group","sorted-set","complexity","O(N*K) worst case with N being the smallest input sorted set, K being the number of input sorted sets.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","limit","type","integer","display_text","limit","token","LIMIT","flags",["optional"]]]],"georadiusbymember_ro",["summary","Returns members from a geospatial index that are within a distance from a member.","since","3.2.10","group","geo","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.","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`GEOSEARCH` with the `BYRADIUS` and `FROMMEMBER` arguments","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member"],["name","radius","type","double","display_text","radius"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]],["name","withcoord","type","pure-token","display_text","withcoord","token","WITHCOORD","flags",["optional"]],["name","withdist","type","pure-token","display_text","withdist","token","WITHDIST","flags",["optional"]],["name","withhash","type","pure-token","display_text","withhash","token","WITHHASH","flags",["optional"]],["name","count-block","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count","token","COUNT"],["name","any","type","pure-token","display_text","any","token","ANY","flags",["optional"]]]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]]]],"setrange",["summary","Overwrites a part of a string value with another by an offset. Creates the key if it doesn't exist.","since","2.2.0","group","string","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","offset","type","integer","display_text","offset"],["name","value","type","string","display_text","value"]]],"georadiusbymember",["summary","Queries a geospatial index for members within a distance from a member, optionally stores the result.","since","3.2.0","group","geo","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.","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`GEOSEARCH` and `GEOSEARCHSTORE` with the `BYRADIUS` and `FROMMEMBER` arguments","history",[["7.0.0","Added support for uppercase unit names."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member"],["name","radius","type","double","display_text","radius"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]],["name","withcoord","type","pure-token","display_text","withcoord","token","WITHCOORD","flags",["optional"]],["name","withdist","type","pure-token","display_text","withdist","token","WITHDIST","flags",["optional"]],["name","withhash","type","pure-token","display_text","withhash","token","WITHHASH","flags",["optional"]],["name","count-block","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count","token","COUNT"],["name","any","type","pure-token","display_text","any","token","ANY","flags",["optional"]]]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]],["name","store","type","oneof","flags",["optional"],"arguments",[["name","storekey","type","key","display_text","key","key_spec_index",1,"token","STORE"],["name","storedistkey","type","key","display_text","key","key_spec_index",2,"token","STOREDIST"]]]]],"sintercard",["summary","Returns the number of members of the intersect of multiple sets.","since","7.0.0","group","set","complexity","O(N*M) worst case where N is the cardinality of the smallest set and M is the number of sets.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","limit","type","integer","display_text","limit","token","LIMIT","flags",["optional"]]]],"ping",["summary","Returns the server's liveliness response.","since","1.0.0","group","connection","complexity","O(1)","arguments",[["name","message","type","string","display_text","message","flags",["optional"]]]],"acl",["summary","A container for Access List Control commands.","since","6.0.0","group","server","complexity","Depends on subcommand.","subcommands",["acl|help",["summary","Returns helpful text about the different subcommands.","since","6.0.0","group","server","complexity","O(1)"],"acl|load",["summary","Reloads the rules from the configured ACL file.","since","6.0.0","group","server","complexity","O(N). Where N is the number of configured users."],"acl|deluser",["summary","Deletes ACL users, and terminates their connections.","since","6.0.0","group","server","complexity","O(1) amortized time considering the typical user.","arguments",[["name","username","type","string","display_text","username","flags",["multiple"]]]],"acl|log",["summary","Lists recent security events generated due to ACL rules.","since","6.0.0","group","server","complexity","O(N) with N being the number of entries shown.","history",[["7.2.0","Added entry ID, timestamp created, and timestamp last updated."]],"arguments",[["name","operation","type","oneof","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count"],["name","reset","type","pure-token","display_text","reset","token","RESET"]]]]],"acl|whoami",["summary","Returns the authenticated username of the current connection.","since","6.0.0","group","server","complexity","O(1)"],"acl|cat",["summary","Lists the ACL categories, or the commands inside a category.","since","6.0.0","group","server","complexity","O(1) since the categories and commands are a fixed set.","arguments",[["name","category","type","string","display_text","category","flags",["optional"]]]],"acl|setuser",["summary","Creates and modifies an ACL user and its rules.","since","6.0.0","group","server","complexity","O(N). Where N is the number of rules provided.","history",[["6.2.0","Added Pub/Sub channel patterns."],["7.0.0","Added selectors and key based permissions."]],"arguments",[["name","username","type","string","display_text","username"],["name","rule","type","string","display_text","rule","flags",["optional","multiple"]]]],"acl|getuser",["summary","Lists the ACL rules of a user.","since","6.0.0","group","server","complexity","O(N). Where N is the number of password, command and pattern rules that the user has.","history",[["6.2.0","Added Pub/Sub channel patterns."],["7.0.0","Added selectors and changed the format of key and channel patterns from a list to their rule representation."]],"arguments",[["name","username","type","string","display_text","username"]]],"acl|genpass",["summary","Generates a pseudorandom, secure password that can be used to identify ACL users.","since","6.0.0","group","server","complexity","O(1)","arguments",[["name","bits","type","integer","display_text","bits","flags",["optional"]]]],"acl|dryrun",["summary","Simulates the execution of a command by a user, without executing the command.","since","7.0.0","group","server","complexity","O(1).","arguments",[["name","username","type","string","display_text","username"],["name","command","type","string","display_text","command"],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"acl|list",["summary","Dumps the effective rules in ACL file format.","since","6.0.0","group","server","complexity","O(N). Where N is the number of configured users."],"acl|users",["summary","Lists all ACL users.","since","6.0.0","group","server","complexity","O(N). Where N is the number of configured users."],"acl|save",["summary","Saves the effective ACL rules in the configured ACL file.","since","6.0.0","group","server","complexity","O(N). Where N is the number of configured users."]]],"zcard",["summary","Returns the number of members in a sorted set.","since","1.2.0","group","sorted-set","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"zrangebyscore",["summary","Returns members in a sorted set within a range of scores.","since","1.0.5","group","sorted-set","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)).","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`ZRANGE` with the `BYSCORE` argument","history",[["2.0.0","Added the `WITHSCORES` modifier."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","min","type","double","display_text","min"],["name","max","type","double","display_text","max"],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","since","2.0.0","flags",["optional"]],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]]]],"zscan",["summary","Iterates over members and scores of a sorted set.","since","2.8.0","group","sorted-set","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","cursor","type","integer","display_text","cursor"],["name","pattern","type","pattern","display_text","pattern","token","MATCH","flags",["optional"]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"xrange",["summary","Returns the messages from a stream within a range of IDs.","since","5.0.0","group","stream","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).","history",[["6.2.0","Added exclusive ranges."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","string","display_text","start"],["name","end","type","string","display_text","end"],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"del",["summary","Deletes one or more keys.","since","1.0.0","group","generic","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).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"geodist",["summary","Returns the distance between two members of a geospatial index.","since","3.2.0","group","geo","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member1","type","string","display_text","member1"],["name","member2","type","string","display_text","member2"],["name","unit","type","oneof","flags",["optional"],"arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]]]],"bitfield_ro",["summary","Performs arbitrary read-only bitfield integer operations on strings.","since","6.0.0","group","bitmap","complexity","O(1) for each subcommand specified","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","get-block","type","block","token","GET","flags",["optional","multiple","multiple_token"],"arguments",[["name","encoding","type","string","display_text","encoding"],["name","offset","type","integer","display_text","offset"]]]]],"punsubscribe",["summary","Stops listening to messages published to channels that match one or more patterns.","since","2.0.0","group","pubsub","complexity","O(N) where N is the number of patterns to unsubscribe.","arguments",[["name","pattern","type","pattern","display_text","pattern","flags",["optional","multiple"]]]],"module",["summary","A container for module commands.","since","4.0.0","group","server","complexity","Depends on subcommand.","subcommands",["module|loadex",["summary","Loads a module using extended parameters.","since","7.0.0","group","server","complexity","O(1)","arguments",[["name","path","type","string","display_text","path"],["name","configs","type","block","token","CONFIG","flags",["optional","multiple","multiple_token"],"arguments",[["name","name","type","string","display_text","name"],["name","value","type","string","display_text","value"]]],["name","args","type","string","display_text","args","token","ARGS","flags",["optional","multiple"]]]],"module|list",["summary","Returns all loaded modules.","since","4.0.0","group","server","complexity","O(N) where N is the number of loaded modules."],"module|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","server","complexity","O(1)"],"module|load",["summary","Loads a module.","since","4.0.0","group","server","complexity","O(1)","arguments",[["name","path","type","string","display_text","path"],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"module|unload",["summary","Unloads a module.","since","4.0.0","group","server","complexity","O(1)","arguments",[["name","name","type","string","display_text","name"]]]]],"brpop",["summary","Removes and returns the last element in a list. Blocks until an element is available otherwise. Deletes the list if the last element was popped.","since","2.0.0","group","list","complexity","O(N) where N is the number of provided keys.","history",[["6.0.0","`timeout` is interpreted as a double instead of an integer."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","timeout","type","double","display_text","timeout"]]],"getdel",["summary","Returns the string value of a key after deleting the key.","since","6.2.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"xadd",["summary","Appends a new message to a stream. Creates the key if it doesn't exist.","since","5.0.0","group","stream","complexity","O(1) when adding a new entry, O(N) when trimming where N being the number of entries evicted.","history",[["6.2.0","Added the `NOMKSTREAM` option, `MINID` trimming strategy and the `LIMIT` option."],["7.0.0","Added support for the `-*` explicit ID form."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","nomkstream","type","pure-token","display_text","nomkstream","token","NOMKSTREAM","since","6.2.0","flags",["optional"]],["name","trim","type","block","flags",["optional"],"arguments",[["name","strategy","type","oneof","arguments",[["name","maxlen","type","pure-token","display_text","maxlen","token","MAXLEN"],["name","minid","type","pure-token","display_text","minid","token","MINID","since","6.2.0"]]],["name","operator","type","oneof","flags",["optional"],"arguments",[["name","equal","type","pure-token","display_text","equal","token","="],["name","approximately","type","pure-token","display_text","approximately","token","~"]]],["name","threshold","type","string","display_text","threshold"],["name","count","type","integer","display_text","count","token","LIMIT","since","6.2.0","flags",["optional"]]]],["name","id-selector","type","oneof","arguments",[["name","auto-id","type","pure-token","display_text","auto-id","token","*"],["name","id","type","string","display_text","id"]]],["name","data","type","block","flags",["multiple"],"arguments",[["name","field","type","string","display_text","field"],["name","value","type","string","display_text","value"]]]]],"subscribe",["summary","Listens for messages published to channels.","since","2.0.0","group","pubsub","complexity","O(N) where N is the number of channels to subscribe to.","arguments",[["name","channel","type","string","display_text","channel","flags",["multiple"]]]],"zrangebylex",["summary","Returns members in a sorted set within a lexicographical range.","since","2.8.9","group","sorted-set","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)).","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`ZRANGE` with the `BYLEX` argument","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","min","type","string","display_text","min"],["name","max","type","string","display_text","max"],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]]]],"object",["summary","A container for object introspection commands.","since","2.2.3","group","generic","complexity","Depends on subcommand.","subcommands",["object|idletime",["summary","Returns the time since the last access to a Redis object.","since","2.2.3","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"object|freq",["summary","Returns the logarithmic access frequency counter of a Redis object.","since","4.0.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"object|help",["summary","Returns helpful text about the different subcommands.","since","6.2.0","group","generic","complexity","O(1)"],"object|refcount",["summary","Returns the reference count of a value of a key.","since","2.2.3","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"object|encoding",["summary","Returns the internal encoding of a Redis object.","since","2.2.3","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]]]],"zremrangebylex",["summary","Removes members in a sorted set within a lexicographical range. Deletes the sorted set if all members were removed.","since","2.8.9","group","sorted-set","complexity","O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements removed by the operation.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","min","type","string","display_text","min"],["name","max","type","string","display_text","max"]]],"lmove",["summary","Returns an element after popping it from one list and pushing it to another. Deletes the list if the last element was moved.","since","6.2.0","group","list","complexity","O(1)","arguments",[["name","source","type","key","display_text","source","key_spec_index",0],["name","destination","type","key","display_text","destination","key_spec_index",1],["name","wherefrom","type","oneof","arguments",[["name","left","type","pure-token","display_text","left","token","LEFT"],["name","right","type","pure-token","display_text","right","token","RIGHT"]]],["name","whereto","type","oneof","arguments",[["name","left","type","pure-token","display_text","left","token","LEFT"],["name","right","type","pure-token","display_text","right","token","RIGHT"]]]]],"echo",["summary","Returns the given string.","since","1.0.0","group","connection","complexity","O(1)","arguments",[["name","message","type","string","display_text","message"]]],"multi",["summary","Starts a transaction.","since","1.2.0","group","transactions","complexity","O(1)"],"fcall_ro",["summary","Invokes a read-only function.","since","7.0.0","group","scripting","complexity","Depends on the function that is executed.","arguments",[["name","function","type","string","display_text","function"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["optional","multiple"]],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"strlen",["summary","Returns the length of a string value.","since","2.2.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"rename",["summary","Renames a key and overwrites the destination.","since","1.0.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","newkey","type","key","display_text","newkey","key_spec_index",1]]],"eval",["summary","Executes a server-side Lua script.","since","2.6.0","group","scripting","complexity","Depends on the script that is executed.","arguments",[["name","script","type","string","display_text","script"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["optional","multiple"]],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"xgroup",["summary","A container for consumer groups commands.","since","5.0.0","group","stream","complexity","Depends on subcommand.","subcommands",["xgroup|destroy",["summary","Destroys a consumer group.","since","5.0.0","group","stream","complexity","O(N) where N is the number of entries in the group's pending entries list (PEL).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"]]],"xgroup|create",["summary","Creates a consumer group.","since","5.0.0","group","stream","complexity","O(1)","history",[["7.0.0","Added the `entries_read` named argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","id-selector","type","oneof","arguments",[["name","id","type","string","display_text","id"],["name","new-id","type","pure-token","display_text","new-id","token","$"]]],["name","mkstream","type","pure-token","display_text","mkstream","token","MKSTREAM","flags",["optional"]],["name","entries-read","type","integer","display_text","entries-read","token","ENTRIESREAD","flags",["optional"]]]],"xgroup|createconsumer",["summary","Creates a consumer in a consumer group.","since","6.2.0","group","stream","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","consumer","type","string","display_text","consumer"]]],"xgroup|setid",["summary","Sets the last-delivered ID of a consumer group.","since","5.0.0","group","stream","complexity","O(1)","history",[["7.0.0","Added the optional `entries_read` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","id-selector","type","oneof","arguments",[["name","id","type","string","display_text","id"],["name","new-id","type","pure-token","display_text","new-id","token","$"]]],["name","entriesread","type","integer","display_text","entries-read","token","ENTRIESREAD","flags",["optional"]]]],"xgroup|delconsumer",["summary","Deletes a consumer from a consumer group.","since","5.0.0","group","stream","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","consumer","type","string","display_text","consumer"]]],"xgroup|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","stream","complexity","O(1)"]]],"linsert",["summary","Inserts an element before or after another element in a list.","since","2.2.0","group","list","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).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","where","type","oneof","arguments",[["name","before","type","pure-token","display_text","before","token","BEFORE"],["name","after","type","pure-token","display_text","after","token","AFTER"]]],["name","pivot","type","string","display_text","pivot"],["name","element","type","string","display_text","element"]]],"info",["summary","Returns information and statistics about the server.","since","1.0.0","group","server","complexity","O(1)","history",[["7.0.0","Added support for taking multiple section arguments."]],"arguments",[["name","section","type","string","display_text","section","flags",["optional","multiple"]]]],"rpop",["summary","Returns and removes the last elements of a list. Deletes the list if the last element was popped.","since","1.0.0","group","list","complexity","O(N) where N is the number of elements returned","history",[["6.2.0","Added the `count` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","since","6.2.0","flags",["optional"]]]],"expireat",["summary","Sets the expiration time of a key to a Unix timestamp.","since","1.2.0","group","generic","complexity","O(1)","history",[["7.0.0","Added options: `NX`, `XX`, `GT` and `LT`."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","unix-time-seconds","type","unix-time","display_text","unix-time-seconds"],["name","condition","type","oneof","since","7.0.0","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"],["name","gt","type","pure-token","display_text","gt","token","GT"],["name","lt","type","pure-token","display_text","lt","token","LT"]]]]],"xdel",["summary","Returns the number of messages after removing them from a stream.","since","5.0.0","group","stream","complexity","O(1) for each single item to delete in the stream, regardless of the stream size.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","id","type","string","display_text","id","flags",["multiple"]]]],"waitaof",["summary","Blocks until all of the preceding write commands sent by the connection are written to the append-only file of the master and/or replicas.","since","7.2.0","group","generic","complexity","O(1)","arguments",[["name","numlocal","type","integer","display_text","numlocal"],["name","numreplicas","type","integer","display_text","numreplicas"],["name","timeout","type","integer","display_text","timeout"]]],"xinfo",["summary","A container for stream introspection commands.","since","5.0.0","group","stream","complexity","Depends on subcommand.","subcommands",["xinfo|stream",["summary","Returns information about a stream.","since","5.0.0","group","stream","complexity","O(1)","history",[["6.0.0","Added the `FULL` modifier."],["7.0.0","Added the `max-deleted-entry-id`, `entries-added`, `recorded-first-entry-id`, `entries-read` and `lag` fields"],["7.2.0","Added the `active-time` field, and changed the meaning of `seen-time`."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","full-block","type","block","flags",["optional"],"arguments",[["name","full","type","pure-token","display_text","full","token","FULL"],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]]]],"xinfo|groups",["summary","Returns a list of the consumer groups of a stream.","since","5.0.0","group","stream","complexity","O(1)","history",[["7.0.0","Added the `entries-read` and `lag` fields"]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"xinfo|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","stream","complexity","O(1)"],"xinfo|consumers",["summary","Returns a list of the consumers in a consumer group.","since","5.0.0","group","stream","complexity","O(1)","history",[["7.2.0","Added the `inactive` field."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"]]]]],"blmpop",["summary","Pops the first element from one of multiple lists. Blocks until an element is available otherwise. Deletes the list if the last element was popped.","since","7.0.0","group","list","complexity","O(N+M) where N is the number of provided keys and M is the number of elements returned.","arguments",[["name","timeout","type","double","display_text","timeout"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","where","type","oneof","arguments",[["name","left","type","pure-token","display_text","left","token","LEFT"],["name","right","type","pure-token","display_text","right","token","RIGHT"]]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"sunion",["summary","Returns the union of multiple sets.","since","1.0.0","group","set","complexity","O(N) where N is the total number of elements in all given sets.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"lpushx",["summary","Prepends one or more elements to a list only when the list exists.","since","2.2.0","group","list","complexity","O(1) for each element added, so O(N) to add N elements when the command is called with multiple arguments.","history",[["4.0.0","Accepts multiple `element` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","element","type","string","display_text","element","flags",["multiple"]]]],"time",["summary","Returns the server time.","since","2.6.0","group","server","complexity","O(1)"],"cluster",["summary","A container for Redis Cluster commands.","since","3.0.0","group","cluster","complexity","Depends on subcommand.","subcommands",["cluster|slaves",["summary","Lists the replica nodes of a master node.","since","3.0.0","group","cluster","complexity","O(N) where N is the number of replicas.","doc_flags",["deprecated"],"deprecated_since","5.0.0","replaced_by","`CLUSTER REPLICAS`","arguments",[["name","node-id","type","string","display_text","node-id"]]],"cluster|replicate",["summary","Configure a node as replica of a master node.","since","3.0.0","group","cluster","complexity","O(1)","arguments",[["name","node-id","type","string","display_text","node-id"]]],"cluster|addslots",["summary","Assigns new hash slots to a node.","since","3.0.0","group","cluster","complexity","O(N) where N is the total number of hash slot arguments","arguments",[["name","slot","type","integer","display_text","slot","flags",["multiple"]]]],"cluster|info",["summary","Returns information about the state of a node.","since","3.0.0","group","cluster","complexity","O(1)"],"cluster|meet",["summary","Forces a node to handshake with another node.","since","3.0.0","group","cluster","complexity","O(1)","history",[["4.0.0","Added the optional `cluster_bus_port` argument."]],"arguments",[["name","ip","type","string","display_text","ip"],["name","port","type","integer","display_text","port"],["name","cluster-bus-port","type","integer","display_text","cluster-bus-port","since","4.0.0","flags",["optional"]]]],"cluster|nodes",["summary","Returns the cluster configuration for a node.","since","3.0.0","group","cluster","complexity","O(N) where N is the total number of Cluster nodes"],"cluster|myshardid",["summary","Returns the shard ID of a node.","since","7.2.0","group","cluster","complexity","O(1)"],"cluster|slots",["summary","Returns the mapping of cluster slots to nodes.","since","3.0.0","group","cluster","complexity","O(N) where N is the total number of Cluster nodes","doc_flags",["deprecated"],"deprecated_since","7.0.0","replaced_by","`CLUSTER SHARDS`","history",[["4.0.0","Added node IDs."],["7.0.0","Added additional networking metadata field."]]],"cluster|shards",["summary","Returns the mapping of cluster slots to shards.","since","7.0.0","group","cluster","complexity","O(N) where N is the total number of cluster nodes"],"cluster|failover",["summary","Forces a replica to perform a manual failover of its master.","since","3.0.0","group","cluster","complexity","O(1)","arguments",[["name","options","type","oneof","flags",["optional"],"arguments",[["name","force","type","pure-token","display_text","force","token","FORCE"],["name","takeover","type","pure-token","display_text","takeover","token","TAKEOVER"]]]]],"cluster|bumpepoch",["summary","Advances the cluster config epoch.","since","3.0.0","group","cluster","complexity","O(1)"],"cluster|replicas",["summary","Lists the replica nodes of a master node.","since","5.0.0","group","cluster","complexity","O(N) where N is the number of replicas.","arguments",[["name","node-id","type","string","display_text","node-id"]]],"cluster|count-failure-reports",["summary","Returns the number of active failure reports active for a node.","since","3.0.0","group","cluster","complexity","O(N) where N is the number of failure reports","arguments",[["name","node-id","type","string","display_text","node-id"]]],"cluster|saveconfig",["summary","Forces a node to save the cluster configuration to disk.","since","3.0.0","group","cluster","complexity","O(1)"],"cluster|myid",["summary","Returns the ID of a node.","since","3.0.0","group","cluster","complexity","O(1)"],"cluster|set-config-epoch",["summary","Sets the configuration epoch for a new node.","since","3.0.0","group","cluster","complexity","O(1)","arguments",[["name","config-epoch","type","integer","display_text","config-epoch"]]],"cluster|countkeysinslot",["summary","Returns the number of keys in a hash slot.","since","3.0.0","group","cluster","complexity","O(1)","arguments",[["name","slot","type","integer","display_text","slot"]]],"cluster|flushslots",["summary","Deletes all slots information from a node.","since","3.0.0","group","cluster","complexity","O(1)"],"cluster|keyslot",["summary","Returns the hash slot for a key.","since","3.0.0","group","cluster","complexity","O(N) where N is the number of bytes in the key","arguments",[["name","key","type","string","display_text","key"]]],"cluster|links",["summary","Returns a list of all TCP links to and from peer nodes.","since","7.0.0","group","cluster","complexity","O(N) where N is the total number of Cluster nodes"],"cluster|setslot",["summary","Binds a hash slot to a node.","since","3.0.0","group","cluster","complexity","O(1)","arguments",[["name","slot","type","integer","display_text","slot"],["name","subcommand","type","oneof","arguments",[["name","importing","type","string","display_text","node-id","token","IMPORTING"],["name","migrating","type","string","display_text","node-id","token","MIGRATING"],["name","node","type","string","display_text","node-id","token","NODE"],["name","stable","type","pure-token","display_text","stable","token","STABLE"]]]]],"cluster|getkeysinslot",["summary","Returns the key names in a hash slot.","since","3.0.0","group","cluster","complexity","O(N) where N is the number of requested keys","arguments",[["name","slot","type","integer","display_text","slot"],["name","count","type","integer","display_text","count"]]],"cluster|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","cluster","complexity","O(1)"],"cluster|forget",["summary","Removes a node from the nodes table.","since","3.0.0","group","cluster","complexity","O(1)","arguments",[["name","node-id","type","string","display_text","node-id"]]],"cluster|delslotsrange",["summary","Sets hash slot ranges as unbound for a node.","since","7.0.0","group","cluster","complexity","O(N) where N is the total number of the slots between the start slot and end slot arguments.","arguments",[["name","range","type","block","flags",["multiple"],"arguments",[["name","start-slot","type","integer","display_text","start-slot"],["name","end-slot","type","integer","display_text","end-slot"]]]]],"cluster|reset",["summary","Resets a node.","since","3.0.0","group","cluster","complexity","O(N) where N is the number of known nodes. The command may execute a FLUSHALL as a side effect.","arguments",[["name","reset-type","type","oneof","flags",["optional"],"arguments",[["name","hard","type","pure-token","display_text","hard","token","HARD"],["name","soft","type","pure-token","display_text","soft","token","SOFT"]]]]],"cluster|addslotsrange",["summary","Assigns new hash slot ranges to a node.","since","7.0.0","group","cluster","complexity","O(N) where N is the total number of the slots between the start slot and end slot arguments.","arguments",[["name","range","type","block","flags",["multiple"],"arguments",[["name","start-slot","type","integer","display_text","start-slot"],["name","end-slot","type","integer","display_text","end-slot"]]]]],"cluster|delslots",["summary","Sets hash slots as unbound for a node.","since","3.0.0","group","cluster","complexity","O(N) where N is the total number of hash slot arguments","arguments",[["name","slot","type","integer","display_text","slot","flags",["multiple"]]]]]],"lset",["summary","Sets the value of an element in a list by its index.","since","1.0.0","group","list","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).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","index","type","integer","display_text","index"],["name","element","type","string","display_text","element"]]],"flushall",["summary","Removes all keys from all databases.","since","1.0.0","group","server","complexity","O(N) where N is the total number of keys in all databases","history",[["4.0.0","Added the `ASYNC` flushing mode modifier."],["6.2.0","Added the `SYNC` flushing mode modifier."]],"arguments",[["name","flush-type","type","oneof","flags",["optional"],"arguments",[["name","async","type","pure-token","display_text","async","token","ASYNC","since","4.0.0"],["name","sync","type","pure-token","display_text","sync","token","SYNC","since","6.2.0"]]]]],"lpop",["summary","Returns the first elements in a list after removing it. Deletes the list if the last element was popped.","since","1.0.0","group","list","complexity","O(N) where N is the number of elements returned","history",[["6.2.0","Added the `count` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","since","6.2.0","flags",["optional"]]]],"lpos",["summary","Returns the index of matching elements in a list.","since","6.0.6","group","list","complexity","O(N) where N is the number of elements in the list, for the average case. When searching for elements near the head or the tail of the list, or when the MAXLEN option is provided, the command may run in constant time.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","element","type","string","display_text","element"],["name","rank","type","integer","display_text","rank","token","RANK","flags",["optional"]],["name","num-matches","type","integer","display_text","num-matches","token","COUNT","flags",["optional"]],["name","len","type","integer","display_text","len","token","MAXLEN","flags",["optional"]]]],"replicaof",["summary","Configures a server as replica of another, or promotes it to a master.","since","5.0.0","group","server","complexity","O(1)","arguments",[["name","args","type","oneof","arguments",[["name","host-port","type","block","arguments",[["name","host","type","string","display_text","host"],["name","port","type","integer","display_text","port"]]],["name","no-one","type","block","arguments",[["name","no","type","pure-token","display_text","no","token","NO"],["name","one","type","pure-token","display_text","one","token","ONE"]]]]]]],"hmset",["summary","Sets the values of multiple fields.","since","2.0.0","group","hash","complexity","O(N) where N is the number of fields being set.","doc_flags",["deprecated"],"deprecated_since","4.0.0","replaced_by","`HSET` with multiple field-value pairs","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","data","type","block","flags",["multiple"],"arguments",[["name","field","type","string","display_text","field"],["name","value","type","string","display_text","value"]]]]],"pexpire",["summary","Sets the expiration time of a key in milliseconds.","since","2.6.0","group","generic","complexity","O(1)","history",[["7.0.0","Added options: `NX`, `XX`, `GT` and `LT`."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","milliseconds","type","integer","display_text","milliseconds"],["name","condition","type","oneof","since","7.0.0","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"],["name","gt","type","pure-token","display_text","gt","token","GT"],["name","lt","type","pure-token","display_text","lt","token","LT"]]]]],"type",["summary","Determines the type of value stored at a key.","since","1.0.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"persist",["summary","Removes the expiration time of a key.","since","2.2.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"swapdb",["summary","Swaps two Redis databases.","since","4.0.0","group","server","complexity","O(N) where N is the count of clients watching or blocking on keys from both databases.","arguments",[["name","index1","type","integer","display_text","index1"],["name","index2","type","integer","display_text","index2"]]],"memory",["summary","A container for memory diagnostics commands.","since","4.0.0","group","server","complexity","Depends on subcommand.","subcommands",["memory|purge",["summary","Asks the allocator to release memory.","since","4.0.0","group","server","complexity","Depends on how much memory is allocated, could be slow"],"memory|help",["summary","Returns helpful text about the different subcommands.","since","4.0.0","group","server","complexity","O(1)"],"memory|doctor",["summary","Outputs a memory problems report.","since","4.0.0","group","server","complexity","O(1)"],"memory|stats",["summary","Returns details about memory usage.","since","4.0.0","group","server","complexity","O(1)"],"memory|malloc-stats",["summary","Returns the allocator statistics.","since","4.0.0","group","server","complexity","Depends on how much memory is allocated, could be slow"],"memory|usage",["summary","Estimates the memory usage of a key.","since","4.0.0","group","server","complexity","O(N) where N is the number of samples.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","token","SAMPLES","flags",["optional"]]]]]],"xpending",["summary","Returns the information and entries from a stream consumer group's pending entries list.","since","5.0.0","group","stream","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). O(M), where M is the total number of entries scanned when used with the IDLE filter. When the command returns just the summary and the list of consumers is small, it runs in O(1) time; otherwise, an additional O(N) time for iterating every consumer.","history",[["6.2.0","Added the `IDLE` option and exclusive range intervals."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","filters","type","block","flags",["optional"],"arguments",[["name","min-idle-time","type","integer","display_text","min-idle-time","token","IDLE","since","6.2.0","flags",["optional"]],["name","start","type","string","display_text","start"],["name","end","type","string","display_text","end"],["name","count","type","integer","display_text","count"],["name","consumer","type","string","display_text","consumer","flags",["optional"]]]]]],"hsetnx",["summary","Sets the value of a field in a hash only when the field doesn't exist.","since","2.0.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field"],["name","value","type","string","display_text","value"]]],"georadius_ro",["summary","Returns members from a geospatial index that are within a distance from a coordinate.","since","3.2.10","group","geo","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.","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`GEOSEARCH` with the `BYRADIUS` argument","history",[["6.2.0","Added the `ANY` option for `COUNT`."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","longitude","type","double","display_text","longitude"],["name","latitude","type","double","display_text","latitude"],["name","radius","type","double","display_text","radius"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]],["name","withcoord","type","pure-token","display_text","withcoord","token","WITHCOORD","flags",["optional"]],["name","withdist","type","pure-token","display_text","withdist","token","WITHDIST","flags",["optional"]],["name","withhash","type","pure-token","display_text","withhash","token","WITHHASH","flags",["optional"]],["name","count-block","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count","token","COUNT"],["name","any","type","pure-token","display_text","any","token","ANY","since","6.2.0","flags",["optional"]]]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]]]],"lmpop",["summary","Returns multiple elements from a list after removing them. Deletes the list if the last element was popped.","since","7.0.0","group","list","complexity","O(N+M) where N is the number of provided keys and M is the number of elements returned.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","where","type","oneof","arguments",[["name","left","type","pure-token","display_text","left","token","LEFT"],["name","right","type","pure-token","display_text","right","token","RIGHT"]]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"bzmpop",["summary","Removes and returns a member by score from one or more sorted sets. Blocks until a member is available otherwise. Deletes the sorted set if the last element was popped.","since","7.0.0","group","sorted-set","complexity","O(K) + O(M*log(N)) where K is the number of provided keys, N being the number of elements in the sorted set, and M being the number of elements popped.","arguments",[["name","timeout","type","double","display_text","timeout"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","where","type","oneof","arguments",[["name","min","type","pure-token","display_text","min","token","MIN"],["name","max","type","pure-token","display_text","max","token","MAX"]]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"xlen",["summary","Return the number of messages in a stream.","since","5.0.0","group","stream","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"renamenx",["summary","Renames a key only when the target key name doesn't exist.","since","1.0.0","group","generic","complexity","O(1)","history",[["3.2.0","The command no longer returns an error when source and destination names are the same."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","newkey","type","key","display_text","newkey","key_spec_index",1]]],"lrange",["summary","Returns a range of elements from a list.","since","1.0.0","group","list","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","integer","display_text","start"],["name","stop","type","integer","display_text","stop"]]],"pfadd",["summary","Adds elements to a HyperLogLog key. Creates the key if it doesn't exist.","since","2.8.9","group","hyperloglog","complexity","O(1) to add every element.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","element","type","string","display_text","element","flags",["optional","multiple"]]]],"smismember",["summary","Determines whether multiple members belong to a set.","since","6.2.0","group","set","complexity","O(N) where N is the number of elements being checked for membership","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["multiple"]]]],"xclaim",["summary","Changes, or acquires, ownership of a message in a consumer group, as if the message was delivered a consumer group member.","since","5.0.0","group","stream","complexity","O(log N) with N being the number of messages in the PEL of the consumer group.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","consumer","type","string","display_text","consumer"],["name","min-idle-time","type","string","display_text","min-idle-time"],["name","id","type","string","display_text","id","flags",["multiple"]],["name","ms","type","integer","display_text","ms","token","IDLE","flags",["optional"]],["name","unix-time-milliseconds","type","unix-time","display_text","unix-time-milliseconds","token","TIME","flags",["optional"]],["name","count","type","integer","display_text","count","token","RETRYCOUNT","flags",["optional"]],["name","force","type","pure-token","display_text","force","token","FORCE","flags",["optional"]],["name","justid","type","pure-token","display_text","justid","token","JUSTID","flags",["optional"]],["name","lastid","type","string","display_text","lastid","token","LASTID","flags",["optional"]]]],"bgsave",["summary","Asynchronously saves the database(s) to disk.","since","1.0.0","group","server","complexity","O(1)","history",[["3.2.2","Added the `SCHEDULE` option."]],"arguments",[["name","schedule","type","pure-token","display_text","schedule","token","SCHEDULE","since","3.2.2","flags",["optional"]]]],"xtrim",["summary","Deletes messages from the beginning of a stream.","since","5.0.0","group","stream","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.","history",[["6.2.0","Added the `MINID` trimming strategy and the `LIMIT` option."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","trim","type","block","arguments",[["name","strategy","type","oneof","arguments",[["name","maxlen","type","pure-token","display_text","maxlen","token","MAXLEN"],["name","minid","type","pure-token","display_text","minid","token","MINID","since","6.2.0"]]],["name","operator","type","oneof","flags",["optional"],"arguments",[["name","equal","type","pure-token","display_text","equal","token","="],["name","approximately","type","pure-token","display_text","approximately","token","~"]]],["name","threshold","type","string","display_text","threshold"],["name","count","type","integer","display_text","count","token","LIMIT","since","6.2.0","flags",["optional"]]]]]],"hstrlen",["summary","Returns the length of the value of a field.","since","3.2.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field"]]],"bitcount",["summary","Counts the number of set bits (population counting) in a string.","since","2.6.0","group","bitmap","complexity","O(N)","history",[["7.0.0","Added the `BYTE|BIT` option."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","range","type","block","flags",["optional"],"arguments",[["name","start","type","integer","display_text","start"],["name","end","type","integer","display_text","end"],["name","unit","type","oneof","since","7.0.0","flags",["optional"],"arguments",[["name","byte","type","pure-token","display_text","byte","token","BYTE"],["name","bit","type","pure-token","display_text","bit","token","BIT"]]]]]]],"setbit",["summary","Sets or clears the bit at offset of the string value. Creates the key if it doesn't exist.","since","2.2.0","group","bitmap","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","offset","type","integer","display_text","offset"],["name","value","type","integer","display_text","value"]]],"watch",["summary","Monitors changes to keys to determine the execution of a transaction.","since","2.2.0","group","transactions","complexity","O(1) for every key.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"zmpop",["summary","Returns the highest- or lowest-scoring members from one or more sorted sets after removing them. Deletes the sorted set if the last member was popped.","since","7.0.0","group","sorted-set","complexity","O(K) + O(M*log(N)) where K is the number of provided keys, N being the number of elements in the sorted set, and M being the number of elements popped.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","where","type","oneof","arguments",[["name","min","type","pure-token","display_text","min","token","MIN"],["name","max","type","pure-token","display_text","max","token","MAX"]]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"rpush",["summary","Appends one or more elements to a list. Creates the key if it doesn't exist.","since","1.0.0","group","list","complexity","O(1) for each element added, so O(N) to add N elements when the command is called with multiple arguments.","history",[["2.4.0","Accepts multiple `element` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","element","type","string","display_text","element","flags",["multiple"]]]],"geosearch",["summary","Queries a geospatial index for members inside an area of a box or a circle.","since","6.2.0","group","geo","complexity","O(N+log(M)) where N is the number of elements in the grid-aligned bounding box area around the shape provided as the filter and M is the number of items inside the shape","history",[["7.0.0","Added support for uppercase unit names."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","from","type","oneof","arguments",[["name","member","type","string","display_text","member","token","FROMMEMBER"],["name","fromlonlat","type","block","token","FROMLONLAT","arguments",[["name","longitude","type","double","display_text","longitude"],["name","latitude","type","double","display_text","latitude"]]]]],["name","by","type","oneof","arguments",[["name","circle","type","block","arguments",[["name","radius","type","double","display_text","radius","token","BYRADIUS"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]]]],["name","box","type","block","arguments",[["name","width","type","double","display_text","width","token","BYBOX"],["name","height","type","double","display_text","height"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]]]]]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]],["name","count-block","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count","token","COUNT"],["name","any","type","pure-token","display_text","any","token","ANY","flags",["optional"]]]],["name","withcoord","type","pure-token","display_text","withcoord","token","WITHCOORD","flags",["optional"]],["name","withdist","type","pure-token","display_text","withdist","token","WITHDIST","flags",["optional"]],["name","withhash","type","pure-token","display_text","withhash","token","WITHHASH","flags",["optional"]]]],"zpopmax",["summary","Returns the highest-scoring members from a sorted set after removing them. Deletes the sorted set if the last member was popped.","since","5.0.0","group","sorted-set","complexity","O(log(N)*M) with N being the number of elements in the sorted set, and M being the number of elements popped.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","flags",["optional"]]]],"xsetid",["summary","An internal command for replicating stream values.","since","5.0.0","group","stream","complexity","O(1)","history",[["7.0.0","Added the `entries_added` and `max_deleted_entry_id` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","last-id","type","string","display_text","last-id"],["name","entries-added","type","integer","display_text","entries-added","token","ENTRIESADDED","since","7.0.0","flags",["optional"]],["name","max-deleted-id","type","string","display_text","max-deleted-id","token","MAXDELETEDID","since","7.0.0","flags",["optional"]]]],"geosearchstore",["summary","Queries a geospatial index for members inside an area of a box or a circle, optionally stores the result.","since","6.2.0","group","geo","complexity","O(N+log(M)) where N is the number of elements in the grid-aligned bounding box area around the shape provided as the filter and M is the number of items inside the shape","history",[["7.0.0","Added support for uppercase unit names."]],"arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","source","type","key","display_text","source","key_spec_index",1],["name","from","type","oneof","arguments",[["name","member","type","string","display_text","member","token","FROMMEMBER"],["name","fromlonlat","type","block","token","FROMLONLAT","arguments",[["name","longitude","type","double","display_text","longitude"],["name","latitude","type","double","display_text","latitude"]]]]],["name","by","type","oneof","arguments",[["name","circle","type","block","arguments",[["name","radius","type","double","display_text","radius","token","BYRADIUS"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]]]],["name","box","type","block","arguments",[["name","width","type","double","display_text","width","token","BYBOX"],["name","height","type","double","display_text","height"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]]]]]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]],["name","count-block","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count","token","COUNT"],["name","any","type","pure-token","display_text","any","token","ANY","flags",["optional"]]]],["name","storedist","type","pure-token","display_text","storedist","token","STOREDIST","flags",["optional"]]]],"ltrim",["summary","Removes elements from both ends a list. Deletes the list if all elements were trimmed.","since","1.0.0","group","list","complexity","O(N) where N is the number of elements to be removed by the operation.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","integer","display_text","start"],["name","stop","type","integer","display_text","stop"]]],"sdiffstore",["summary","Stores the difference of multiple sets in a key.","since","1.0.0","group","set","complexity","O(N) where N is the total number of elements in all given sets.","arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]]]],"zrevrange",["summary","Returns members in a sorted set within a range of indexes in reverse order.","since","1.2.0","group","sorted-set","complexity","O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements returned.","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`ZRANGE` with the `REV` argument","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","integer","display_text","start"],["name","stop","type","integer","display_text","stop"],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]]]],"substr",["summary","Returns a substring from a string value.","since","1.0.0","group","string","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.","doc_flags",["deprecated"],"deprecated_since","2.0.0","replaced_by","`GETRANGE`","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","integer","display_text","start"],["name","end","type","integer","display_text","end"]]],"sort",["summary","Sorts the elements in a list, a set, or a sorted set, optionally storing the result.","since","1.0.0","group","generic","complexity","O(N+M*log(M)) where N is the number of elements in the list or set to sort, and M the number of returned elements. When the elements are not sorted, complexity is O(N).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","by-pattern","type","pattern","display_text","pattern","key_spec_index",1,"token","BY","flags",["optional"]],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]],["name","get-pattern","type","pattern","display_text","pattern","key_spec_index",1,"token","GET","flags",["optional","multiple","multiple_token"]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]],["name","sorting","type","pure-token","display_text","sorting","token","ALPHA","flags",["optional"]],["name","destination","type","key","display_text","destination","key_spec_index",2,"token","STORE","flags",["optional"]]]],"lastsave",["summary","Returns the Unix timestamp of the last successful save to disk.","since","1.0.0","group","server","complexity","O(1)"],"rpushx",["summary","Appends an element to a list only when the list exists.","since","2.2.0","group","list","complexity","O(1) for each element added, so O(N) to add N elements when the command is called with multiple arguments.","history",[["4.0.0","Accepts multiple `element` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","element","type","string","display_text","element","flags",["multiple"]]]],"zrandmember",["summary","Returns one or more random members from a sorted set.","since","6.2.0","group","sorted-set","complexity","O(N) where N is the number of members returned","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","options","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count"],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]]]]]],"dbsize",["summary","Returns the number of keys in the database.","since","1.0.0","group","server","complexity","O(1)"],"hset",["summary","Creates or modifies the value of a field in a hash.","since","2.0.0","group","hash","complexity","O(1) for each field/value pair added, so O(N) to add N field/value pairs when the command is called with multiple field/value pairs.","history",[["4.0.0","Accepts multiple `field` and `value` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","data","type","block","flags",["multiple"],"arguments",[["name","field","type","string","display_text","field"],["name","value","type","string","display_text","value"]]]]],"incrbyfloat",["summary","Increment the floating point value of a key by a number. Uses 0 as initial value if the key doesn't exist.","since","2.6.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","increment","type","double","display_text","increment"]]],"bitpos",["summary","Finds the first set (1) or clear (0) bit in a string.","since","2.8.7","group","bitmap","complexity","O(N)","history",[["7.0.0","Added the `BYTE|BIT` option."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","bit","type","integer","display_text","bit"],["name","range","type","block","flags",["optional"],"arguments",[["name","start","type","integer","display_text","start"],["name","end-unit-block","type","block","flags",["optional"],"arguments",[["name","end","type","integer","display_text","end"],["name","unit","type","oneof","since","7.0.0","flags",["optional"],"arguments",[["name","byte","type","pure-token","display_text","byte","token","BYTE"],["name","bit","type","pure-token","display_text","bit","token","BIT"]]]]]]]]],"sinter",["summary","Returns the intersect of multiple sets.","since","1.0.0","group","set","complexity","O(N*M) worst case where N is the cardinality of the smallest set and M is the number of sets.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"exec",["summary","Executes all commands in a transaction.","since","1.2.0","group","transactions","complexity","Depends on commands in the transaction"],"decrby",["summary","Decrements a number from the integer value of a key. Uses 0 as initial value if the key doesn't exist.","since","1.0.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","decrement","type","integer","display_text","decrement"]]],"zincrby",["summary","Increments the score of a member in a sorted set.","since","1.2.0","group","sorted-set","complexity","O(log(N)) where N is the number of elements in the sorted set.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","increment","type","integer","display_text","increment"],["name","member","type","string","display_text","member"]]],"exists",["summary","Determines whether one or more keys exist.","since","1.0.0","group","generic","complexity","O(N) where N is the number of keys to check.","history",[["3.0.3","Accepts multiple `key` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"xrevrange",["summary","Returns the messages from a stream within a range of IDs in reverse order.","since","5.0.0","group","stream","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).","history",[["6.2.0","Added exclusive ranges."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","end","type","string","display_text","end"],["name","start","type","string","display_text","start"],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"move",["summary","Moves a key to another database.","since","1.0.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","db","type","integer","display_text","db"]]],"touch",["summary","Returns the number of existing keys out of those specified after updating the time they were last accessed.","since","3.2.1","group","generic","complexity","O(N) where N is the number of keys that will be touched.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"psetex",["summary","Sets both string value and expiration time in milliseconds of a key. The key is created if it doesn't exist.","since","2.6.0","group","string","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","2.6.12","replaced_by","`SET` with the `PX` argument","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","milliseconds","type","integer","display_text","milliseconds"],["name","value","type","string","display_text","value"]]],"lindex",["summary","Returns an element from a list by its index.","since","1.0.0","group","list","complexity","O(N) where N is the number of elements to traverse to get to the element at index. This makes asking for the first or the last element of the list O(1).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","index","type","integer","display_text","index"]]],"zrangestore",["summary","Stores a range of members from sorted set in a key.","since","6.2.0","group","sorted-set","complexity","O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements stored into the destination key.","arguments",[["name","dst","type","key","display_text","dst","key_spec_index",0],["name","src","type","key","display_text","src","key_spec_index",1],["name","min","type","string","display_text","min"],["name","max","type","string","display_text","max"],["name","sortby","type","oneof","flags",["optional"],"arguments",[["name","byscore","type","pure-token","display_text","byscore","token","BYSCORE"],["name","bylex","type","pure-token","display_text","bylex","token","BYLEX"]]],["name","rev","type","pure-token","display_text","rev","token","REV","flags",["optional"]],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]]]],"bitop",["summary","Performs bitwise operations on multiple strings, and stores the result.","since","2.6.0","group","bitmap","complexity","O(N)","arguments",[["name","operation","type","oneof","arguments",[["name","and","type","pure-token","display_text","and","token","AND"],["name","or","type","pure-token","display_text","or","token","OR"],["name","xor","type","pure-token","display_text","xor","token","XOR"],["name","not","type","pure-token","display_text","not","token","NOT"]]],["name","destkey","type","key","display_text","destkey","key_spec_index",0],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]]]],"failover",["summary","Starts a coordinated failover from a server to one of its replicas.","since","6.2.0","group","server","complexity","O(1)","arguments",[["name","target","type","block","token","TO","flags",["optional"],"arguments",[["name","host","type","string","display_text","host"],["name","port","type","integer","display_text","port"],["name","force","type","pure-token","display_text","force","token","FORCE","flags",["optional"]]]],["name","abort","type","pure-token","display_text","abort","token","ABORT","flags",["optional"]],["name","milliseconds","type","integer","display_text","milliseconds","token","TIMEOUT","flags",["optional"]]]],"wait",["summary","Blocks until the asynchronous replication of all preceding write commands sent by the connection is completed.","since","3.0.0","group","generic","complexity","O(1)","arguments",[["name","numreplicas","type","integer","display_text","numreplicas"],["name","timeout","type","integer","display_text","timeout"]]],"set",["summary","Sets the string value of a key, ignoring its type. The key is created if it doesn't exist.","since","1.0.0","group","string","complexity","O(1)","history",[["2.6.12","Added the `EX`, `PX`, `NX` and `XX` options."],["6.0.0","Added the `KEEPTTL` option."],["6.2.0","Added the `GET`, `EXAT` and `PXAT` option."],["7.0.0","Allowed the `NX` and `GET` options to be used together."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","value","type","string","display_text","value"],["name","condition","type","oneof","since","2.6.12","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"]]],["name","get","type","pure-token","display_text","get","token","GET","since","6.2.0","flags",["optional"]],["name","expiration","type","oneof","flags",["optional"],"arguments",[["name","seconds","type","integer","display_text","seconds","token","EX","since","2.6.12"],["name","milliseconds","type","integer","display_text","milliseconds","token","PX","since","2.6.12"],["name","unix-time-seconds","type","unix-time","display_text","unix-time-seconds","token","EXAT","since","6.2.0"],["name","unix-time-milliseconds","type","unix-time","display_text","unix-time-milliseconds","token","PXAT","since","6.2.0"],["name","keepttl","type","pure-token","display_text","keepttl","token","KEEPTTL","since","6.0.0"]]]]],"client",["summary","A container for client connection commands.","since","2.4.0","group","connection","complexity","Depends on subcommand.","subcommands",["client|info",["summary","Returns information about the connection.","since","6.2.0","group","connection","complexity","O(1)"],"client|kill",["summary","Terminates open connections.","since","2.4.0","group","connection","complexity","O(N) where N is the number of client connections","history",[["2.8.12","Added new filter format."],["2.8.12","`ID` option."],["3.2.0","Added `master` type in for `TYPE` option."],["5.0.0","Replaced `slave` `TYPE` with `replica`. `slave` still supported for backward compatibility."],["6.2.0","`LADDR` option."]],"arguments",[["name","filter","type","oneof","arguments",[["name","old-format","type","string","display_text","ip:port","deprecated_since","2.8.12"],["name","new-format","type","oneof","flags",["multiple"],"arguments",[["name","client-id","type","integer","display_text","client-id","token","ID","since","2.8.12","flags",["optional"]],["name","client-type","type","oneof","token","TYPE","since","2.8.12","flags",["optional"],"arguments",[["name","normal","type","pure-token","display_text","normal","token","NORMAL"],["name","master","type","pure-token","display_text","master","token","MASTER","since","3.2.0"],["name","slave","type","pure-token","display_text","slave","token","SLAVE"],["name","replica","type","pure-token","display_text","replica","token","REPLICA","since","5.0.0"],["name","pubsub","type","pure-token","display_text","pubsub","token","PUBSUB"]]],["name","username","type","string","display_text","username","token","USER","flags",["optional"]],["name","addr","type","string","display_text","ip:port","token","ADDR","flags",["optional"]],["name","laddr","type","string","display_text","ip:port","token","LADDR","since","6.2.0","flags",["optional"]],["name","skipme","type","oneof","token","SKIPME","flags",["optional"],"arguments",[["name","yes","type","pure-token","display_text","yes","token","YES"],["name","no","type","pure-token","display_text","no","token","NO"]]]]]]]]],"client|id",["summary","Returns the unique client ID of the connection.","since","5.0.0","group","connection","complexity","O(1)"],"client|getredir",["summary","Returns the client ID to which the connection's tracking notifications are redirected.","since","6.0.0","group","connection","complexity","O(1)"],"client|reply",["summary","Instructs the server whether to reply to commands.","since","3.2.0","group","connection","complexity","O(1)","arguments",[["name","action","type","oneof","arguments",[["name","on","type","pure-token","display_text","on","token","ON"],["name","off","type","pure-token","display_text","off","token","OFF"],["name","skip","type","pure-token","display_text","skip","token","SKIP"]]]]],"client|caching",["summary","Instructs the server whether to track the keys in the next request.","since","6.0.0","group","connection","complexity","O(1)","arguments",[["name","mode","type","oneof","arguments",[["name","yes","type","pure-token","display_text","yes","token","YES"],["name","no","type","pure-token","display_text","no","token","NO"]]]]],"client|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","connection","complexity","O(1)"],"client|pause",["summary","Suspends commands processing.","since","3.0.0","group","connection","complexity","O(1)","history",[["6.2.0","`CLIENT PAUSE WRITE` mode added along with the `mode` option."]],"arguments",[["name","timeout","type","integer","display_text","timeout"],["name","mode","type","oneof","since","6.2.0","flags",["optional"],"arguments",[["name","write","type","pure-token","display_text","write","token","WRITE"],["name","all","type","pure-token","display_text","all","token","ALL"]]]]],"client|trackinginfo",["summary","Returns information about server-assisted client-side caching for the connection.","since","6.2.0","group","connection","complexity","O(1)"],"client|getname",["summary","Returns the name of the connection.","since","2.6.9","group","connection","complexity","O(1)"],"client|list",["summary","Lists open connections.","since","2.4.0","group","connection","complexity","O(N) where N is the number of client connections","history",[["2.8.12","Added unique client `id` field."],["5.0.0","Added optional `TYPE` filter."],["6.0.0","Added `user` field."],["6.2.0","Added `argv-mem`, `tot-mem`, `laddr` and `redir` fields and the optional `ID` filter."],["7.0.0","Added `resp`, `multi-mem`, `rbs` and `rbp` fields."],["7.0.3","Added `ssub` field."]],"arguments",[["name","client-type","type","oneof","token","TYPE","since","5.0.0","flags",["optional"],"arguments",[["name","normal","type","pure-token","display_text","normal","token","NORMAL"],["name","master","type","pure-token","display_text","master","token","MASTER"],["name","replica","type","pure-token","display_text","replica","token","REPLICA"],["name","pubsub","type","pure-token","display_text","pubsub","token","PUBSUB"]]],["name","client-id","type","integer","display_text","client-id","token","ID","since","6.2.0","flags",["optional","multiple"]]]],"client|no-touch",["summary","Controls whether commands sent by the client affect the LRU/LFU of accessed keys.","since","7.2.0","group","connection","complexity","O(1)","arguments",[["name","enabled","type","oneof","arguments",[["name","on","type","pure-token","display_text","on","token","ON"],["name","off","type","pure-token","display_text","off","token","OFF"]]]]],"client|setname",["summary","Sets the connection name.","since","2.6.9","group","connection","complexity","O(1)","arguments",[["name","connection-name","type","string","display_text","connection-name"]]],"client|no-evict",["summary","Sets the client eviction mode of the connection.","since","7.0.0","group","connection","complexity","O(1)","arguments",[["name","enabled","type","oneof","arguments",[["name","on","type","pure-token","display_text","on","token","ON"],["name","off","type","pure-token","display_text","off","token","OFF"]]]]],"client|tracking",["summary","Controls server-assisted client-side caching for the connection.","since","6.0.0","group","connection","complexity","O(1). Some options may introduce additional complexity.","arguments",[["name","status","type","oneof","arguments",[["name","on","type","pure-token","display_text","on","token","ON"],["name","off","type","pure-token","display_text","off","token","OFF"]]],["name","client-id","type","integer","display_text","client-id","token","REDIRECT","flags",["optional"]],["name","prefix","type","string","display_text","prefix","token","PREFIX","flags",["optional","multiple","multiple_token"]],["name","bcast","type","pure-token","display_text","bcast","token","BCAST","flags",["optional"]],["name","optin","type","pure-token","display_text","optin","token","OPTIN","flags",["optional"]],["name","optout","type","pure-token","display_text","optout","token","OPTOUT","flags",["optional"]],["name","noloop","type","pure-token","display_text","noloop","token","NOLOOP","flags",["optional"]]]],"client|unpause",["summary","Resumes processing commands from paused clients.","since","6.2.0","group","connection","complexity","O(N) Where N is the number of paused clients"],"client|setinfo",["summary","Sets information specific to the client or connection.","since","7.2.0","group","connection","complexity","O(1)","arguments",[["name","attr","type","oneof","arguments",[["name","libname","type","string","display_text","libname","token","LIB-NAME"],["name","libver","type","string","display_text","libver","token","LIB-VER"]]]]],"client|unblock",["summary","Unblocks a client blocked by a blocking command from a different connection.","since","5.0.0","group","connection","complexity","O(log N) where N is the number of client connections","arguments",[["name","client-id","type","integer","display_text","client-id"],["name","unblock-type","type","oneof","flags",["optional"],"arguments",[["name","timeout","type","pure-token","display_text","timeout","token","TIMEOUT"],["name","error","type","pure-token","display_text","error","token","ERROR"]]]]]]],"pfdebug",["summary","Internal commands for debugging HyperLogLog values.","since","2.8.9","group","hyperloglog","complexity","N/A","doc_flags",["syscmd"],"arguments",[["name","subcommand","type","string","display_text","subcommand"],["name","key","type","key","display_text","key","key_spec_index",0]]],"unsubscribe",["summary","Stops listening to messages posted to channels.","since","2.0.0","group","pubsub","complexity","O(N) where N is the number of channels to unsubscribe.","arguments",[["name","channel","type","string","display_text","channel","flags",["optional","multiple"]]]],"discard",["summary","Discards a transaction.","since","2.0.0","group","transactions","complexity","O(N), when N is the number of queued commands"],"zscore",["summary","Returns the score of a member in a sorted set.","since","1.2.0","group","sorted-set","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member"]]],"keys",["summary","Returns all key names that match a pattern.","since","1.0.0","group","generic","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.","arguments",[["name","pattern","type","pattern","display_text","pattern"]]],"restore-asking",["summary","An internal command for migrating keys in a cluster.","since","3.0.0","group","server","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)).","doc_flags",["syscmd"],"history",[["3.0.0","Added the `REPLACE` modifier."],["5.0.0","Added the `ABSTTL` modifier."],["5.0.0","Added the `IDLETIME` and `FREQ` options."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","ttl","type","integer","display_text","ttl"],["name","serialized-value","type","string","display_text","serialized-value"],["name","replace","type","pure-token","display_text","replace","token","REPLACE","since","3.0.0","flags",["optional"]],["name","absttl","type","pure-token","display_text","absttl","token","ABSTTL","since","5.0.0","flags",["optional"]],["name","seconds","type","integer","display_text","seconds","token","IDLETIME","since","5.0.0","flags",["optional"]],["name","frequency","type","integer","display_text","frequency","token","FREQ","since","5.0.0","flags",["optional"]]]],"dump",["summary","Returns a serialized representation of the value stored at a key.","since","2.6.0","group","generic","complexity","O(1) to access the key and additional O(N*M) to serialize 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).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"decr",["summary","Decrements the integer value of a key by one. Uses 0 as initial value if the key doesn't exist.","since","1.0.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"sscan",["summary","Iterates over members of a set.","since","2.8.0","group","set","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","cursor","type","integer","display_text","cursor"],["name","pattern","type","pattern","display_text","pattern","token","MATCH","flags",["optional"]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"getbit",["summary","Returns a bit value by offset.","since","2.2.0","group","bitmap","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","offset","type","integer","display_text","offset"]]],"hkeys",["summary","Returns all fields in a hash.","since","2.0.0","group","hash","complexity","O(N) where N is the size of the hash.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"zmscore",["summary","Returns the score of one or more members in a sorted set.","since","6.2.0","group","sorted-set","complexity","O(N) where N is the number of members being requested.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["multiple"]]]],"zlexcount",["summary","Returns the number of members in a sorted set within a lexicographical range.","since","2.8.9","group","sorted-set","complexity","O(log(N)) with N being the number of elements in the sorted set.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","min","type","string","display_text","min"],["name","max","type","string","display_text","max"]]],"zdiffstore",["summary","Stores the difference of multiple sorted sets in a key.","since","6.2.0","group","sorted-set","complexity","O(L + (N-K)log(N)) worst case where L is the total number of elements in all the sets, N is the size of the first set, and K is the size of the result set.","arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]]]],"hrandfield",["summary","Returns one or more random fields from a hash.","since","6.2.0","group","hash","complexity","O(N) where N is the number of fields returned","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","options","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count"],["name","withvalues","type","pure-token","display_text","withvalues","token","WITHVALUES","flags",["optional"]]]]]],"append",["summary","Appends a string to the value of a key. Creates the key if it doesn't exist.","since","2.0.0","group","string","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","value","type","string","display_text","value"]]],"spop",["summary","Returns one or more random members from a set after removing them. Deletes the set if the last member was popped.","since","1.0.0","group","set","complexity","Without the count argument O(1), otherwise O(N) where N is the value of the passed count.","history",[["3.2.0","Added the `count` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","since","3.2.0","flags",["optional"]]]],"zrevrangebylex",["summary","Returns members in a sorted set within a lexicographical range in reverse order.","since","2.8.9","group","sorted-set","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)).","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`ZRANGE` with the `REV` and `BYLEX` arguments","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","max","type","string","display_text","max"],["name","min","type","string","display_text","min"],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]]]],"eval_ro",["summary","Executes a read-only server-side Lua script.","since","7.0.0","group","scripting","complexity","Depends on the script that is executed.","arguments",[["name","script","type","string","display_text","script"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["optional","multiple"]],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"incr",["summary","Increments the integer value of a key by one. Uses 0 as initial value if the key doesn't exist.","since","1.0.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"getex",["summary","Returns the string value of a key after setting its expiration time.","since","6.2.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","expiration","type","oneof","flags",["optional"],"arguments",[["name","seconds","type","integer","display_text","seconds","token","EX"],["name","milliseconds","type","integer","display_text","milliseconds","token","PX"],["name","unix-time-seconds","type","unix-time","display_text","unix-time-seconds","token","EXAT"],["name","unix-time-milliseconds","type","unix-time","display_text","unix-time-milliseconds","token","PXAT"],["name","persist","type","pure-token","display_text","persist","token","PERSIST"]]]]],"hlen",["summary","Returns the number of fields in a hash.","since","2.0.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"pexpiretime",["summary","Returns the expiration time of a key as a Unix milliseconds timestamp.","since","7.0.0","group","generic","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"blpop",["summary","Removes and returns the first element in a list. Blocks until an element is available otherwise. Deletes the list if the last element was popped.","since","2.0.0","group","list","complexity","O(N) where N is the number of provided keys.","history",[["6.0.0","`timeout` is interpreted as a double instead of an integer."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","timeout","type","double","display_text","timeout"]]],"zrem",["summary","Removes one or more members from a sorted set. Deletes the sorted set if all members were removed.","since","1.2.0","group","sorted-set","complexity","O(M*log(N)) with N being the number of elements in the sorted set and M the number of elements to be removed.","history",[["2.4.0","Accepts multiple elements."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["multiple"]]]],"mget",["summary","Atomically returns the string values of one or more keys.","since","1.0.0","group","string","complexity","O(N) where N is the number of keys to retrieve.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"slaveof",["summary","Sets a Redis server as a replica of another, or promotes it to being a master.","since","1.0.0","group","server","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","5.0.0","replaced_by","`REPLICAOF`","arguments",[["name","args","type","oneof","arguments",[["name","host-port","type","block","arguments",[["name","host","type","string","display_text","host"],["name","port","type","integer","display_text","port"]]],["name","no-one","type","block","arguments",[["name","no","type","pure-token","display_text","no","token","NO"],["name","one","type","pure-token","display_text","one","token","ONE"]]]]]]],"zadd",["summary","Adds one or more members to a sorted set, or updates their scores. Creates the key if it doesn't exist.","since","1.2.0","group","sorted-set","complexity","O(log(N)) for each item added, where N is the number of elements in the sorted set.","history",[["2.4.0","Accepts multiple elements."],["3.0.2","Added the `XX`, `NX`, `CH` and `INCR` options."],["6.2.0","Added the `GT` and `LT` options."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","condition","type","oneof","since","3.0.2","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"]]],["name","comparison","type","oneof","since","6.2.0","flags",["optional"],"arguments",[["name","gt","type","pure-token","display_text","gt","token","GT"],["name","lt","type","pure-token","display_text","lt","token","LT"]]],["name","change","type","pure-token","display_text","change","token","CH","since","3.0.2","flags",["optional"]],["name","increment","type","pure-token","display_text","increment","token","INCR","since","3.0.2","flags",["optional"]],["name","data","type","block","flags",["multiple"],"arguments",[["name","score","type","double","display_text","score"],["name","member","type","string","display_text","member"]]]]],"copy",["summary","Copies the value of a key to a new key.","since","6.2.0","group","generic","complexity","O(N) worst case for collections, where N is the number of nested items. O(1) for string values.","arguments",[["name","source","type","key","display_text","source","key_spec_index",0],["name","destination","type","key","display_text","destination","key_spec_index",1],["name","destination-db","type","integer","display_text","destination-db","token","DB","flags",["optional"]],["name","replace","type","pure-token","display_text","replace","token","REPLACE","flags",["optional"]]]],"auth",["summary","Authenticates the connection.","since","1.0.0","group","connection","complexity","O(N) where N is the number of passwords defined for the user","history",[["6.0.0","Added ACL style (username and password)."]],"arguments",[["name","username","type","string","display_text","username","since","6.0.0","flags",["optional"]],["name","password","type","string","display_text","password"]]],"llen",["summary","Returns the length of a list.","since","1.0.0","group","list","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"replconf",["summary","An internal command for configuring the replication stream.","since","3.0.0","group","server","complexity","O(1)","doc_flags",["syscmd"]],"reset",["summary","Resets the connection.","since","6.2.0","group","connection","complexity","O(1)"],"lrem",["summary","Removes elements from a list. Deletes the list if the last element was removed.","since","1.0.0","group","list","complexity","O(N+M) where N is the length of the list and M is the number of elements removed.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count"],["name","element","type","string","display_text","element"]]],"hincrbyfloat",["summary","Increments the floating point value of a field by a number. Uses 0 as initial value if the field doesn't exist.","since","2.6.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field"],["name","increment","type","double","display_text","increment"]]],"config",["summary","A container for server configuration commands.","since","2.0.0","group","server","complexity","Depends on subcommand.","subcommands",["config|get",["summary","Returns the effective values of configuration parameters.","since","2.0.0","group","server","complexity","O(N) when N is the number of configuration parameters provided","history",[["7.0.0","Added the ability to pass multiple pattern parameters in one call"]],"arguments",[["name","parameter","type","string","display_text","parameter","flags",["multiple"]]]],"config|resetstat",["summary","Resets the server's statistics.","since","2.0.0","group","server","complexity","O(1)"],"config|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","server","complexity","O(1)"],"config|rewrite",["summary","Persists the effective configuration to file.","since","2.8.0","group","server","complexity","O(1)"],"config|set",["summary","Sets configuration parameters in-flight.","since","2.0.0","group","server","complexity","O(N) when N is the number of configuration parameters provided","history",[["7.0.0","Added the ability to set multiple parameters in one call."]],"arguments",[["name","data","type","block","flags",["multiple"],"arguments",[["name","parameter","type","string","display_text","parameter"],["name","value","type","string","display_text","value"]]]]]]],"setnx",["summary","Set the string value of a key only when the key doesn't exist.","since","1.0.0","group","string","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","2.6.12","replaced_by","`SET` with the `NX` argument","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","value","type","string","display_text","value"]]],"geoadd",["summary","Adds one or more members to a geospatial index. The key is created if it doesn't exist.","since","3.2.0","group","geo","complexity","O(log(N)) for each item added, where N is the number of elements in the sorted set.","history",[["6.2.0","Added the `CH`, `NX` and `XX` options."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","condition","type","oneof","since","6.2.0","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"]]],["name","change","type","pure-token","display_text","change","token","CH","since","6.2.0","flags",["optional"]],["name","data","type","block","flags",["multiple"],"arguments",[["name","longitude","type","double","display_text","longitude"],["name","latitude","type","double","display_text","latitude"],["name","member","type","string","display_text","member"]]]]],"xack",["summary","Returns the number of messages that were successfully acknowledged by the consumer group member of a stream.","since","5.0.0","group","stream","complexity","O(1) for each message ID processed.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","id","type","string","display_text","id","flags",["multiple"]]]],"setex",["summary","Sets the string value and expiration time of a key. Creates the key if it doesn't exist.","since","2.0.0","group","string","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","2.6.12","replaced_by","`SET` with the `EX` argument","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","seconds","type","integer","display_text","seconds"],["name","value","type","string","display_text","value"]]],"asking",["summary","Signals that a cluster client is following an -ASK redirect.","since","3.0.0","group","cluster","complexity","O(1)"],"slowlog",["summary","A container for slow log commands.","since","2.2.12","group","server","complexity","Depends on subcommand.","subcommands",["slowlog|len",["summary","Returns the number of entries in the slow log.","since","2.2.12","group","server","complexity","O(1)"],"slowlog|get",["summary","Returns the slow log's entries.","since","2.2.12","group","server","complexity","O(N) where N is the number of entries returned","history",[["4.0.0","Added client IP address, port and name to the reply."]],"arguments",[["name","count","type","integer","display_text","count","flags",["optional"]]]],"slowlog|reset",["summary","Clears all entries from the slow log.","since","2.2.12","group","server","complexity","O(N) where N is the number of entries in the slowlog"],"slowlog|help",["summary","Show helpful text about the different subcommands","since","6.2.0","group","server","complexity","O(1)"]]],"latency",["summary","A container for latency diagnostics commands.","since","2.8.13","group","server","complexity","Depends on subcommand.","subcommands",["latency|reset",["summary","Resets the latency data for one or more events.","since","2.8.13","group","server","complexity","O(1)","arguments",[["name","event","type","string","display_text","event","flags",["optional","multiple"]]]],"latency|latest",["summary","Returns the latest latency samples for all events.","since","2.8.13","group","server","complexity","O(1)"],"latency|doctor",["summary","Returns a human-readable latency analysis report.","since","2.8.13","group","server","complexity","O(1)"],"latency|graph",["summary","Returns a latency graph for an event.","since","2.8.13","group","server","complexity","O(1)","arguments",[["name","event","type","string","display_text","event"]]],"latency|help",["summary","Returns helpful text about the different subcommands.","since","2.8.13","group","server","complexity","O(1)"],"latency|histogram",["summary","Returns the cumulative distribution of latencies of a subset or all commands.","since","7.0.0","group","server","complexity","O(N) where N is the number of commands with latency information being retrieved.","arguments",[["name","command","type","string","display_text","command","flags",["optional","multiple"]]]],"latency|history",["summary","Returns timestamp-latency samples for an event.","since","2.8.13","group","server","complexity","O(1)","arguments",[["name","event","type","string","display_text","event"]]]]],"publish",["summary","Posts a message to a channel.","since","2.0.0","group","pubsub","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).","arguments",[["name","channel","type","string","display_text","channel"],["name","message","type","string","display_text","message"]]],"spublish",["summary","Post a message to a shard channel","since","7.0.0","group","pubsub","complexity","O(N) where N is the number of clients subscribed to the receiving shard channel.","arguments",[["name","shardchannel","type","string","display_text","shardchannel"],["name","message","type","string","display_text","message"]]],"bgrewriteaof",["summary","Asynchronously rewrites the append-only file to disk.","since","1.0.0","group","server","complexity","O(1)"],"debug",["summary","A container for debugging commands.","since","1.0.0","group","server","complexity","Depends on subcommand.","doc_flags",["syscmd"]],"getset",["summary","Returns the previous string value of a key after setting it to a new value.","since","1.0.0","group","string","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`SET` with the `!GET` argument","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","value","type","string","display_text","value"]]],"hincrby",["summary","Increments the integer value of a field in a hash by a number. Uses 0 as initial value if the field doesn't exist.","since","2.0.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field"],["name","increment","type","integer","display_text","increment"]]],"srandmember",["summary","Get one or multiple random members from a set","since","1.0.0","group","set","complexity","Without the count argument O(1), otherwise O(N) where N is the absolute value of the passed count.","history",[["2.6.0","Added the optional `count` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","count","type","integer","display_text","count","since","2.6.0","flags",["optional"]]]],"role",["summary","Returns the replication role.","since","2.8.12","group","server","complexity","O(1)"],"hgetall",["summary","Returns all fields and values in a hash.","since","2.0.0","group","hash","complexity","O(N) where N is the size of the hash.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"migrate",["summary","Atomically transfers a key from one Redis instance to another.","since","2.6.0","group","generic","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.","history",[["3.0.0","Added the `COPY` and `REPLACE` options."],["3.0.6","Added the `KEYS` option."],["4.0.7","Added the `AUTH` option."],["6.0.0","Added the `AUTH2` option."]],"arguments",[["name","host","type","string","display_text","host"],["name","port","type","integer","display_text","port"],["name","key-selector","type","oneof","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","empty-string","type","pure-token","display_text","empty-string","token",""]]],["name","destination-db","type","integer","display_text","destination-db"],["name","timeout","type","integer","display_text","timeout"],["name","copy","type","pure-token","display_text","copy","token","COPY","since","3.0.0","flags",["optional"]],["name","replace","type","pure-token","display_text","replace","token","REPLACE","since","3.0.0","flags",["optional"]],["name","authentication","type","oneof","flags",["optional"],"arguments",[["name","auth","type","string","display_text","password","token","AUTH","since","4.0.7"],["name","auth2","type","block","token","AUTH2","since","6.0.0","arguments",[["name","username","type","string","display_text","username"],["name","password","type","string","display_text","password"]]]]],["name","keys","type","key","display_text","key","key_spec_index",1,"token","KEYS","since","3.0.6","flags",["optional","multiple"]]]],"zunion",["summary","Returns the union of multiple sorted sets.","since","6.2.0","group","sorted-set","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.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","weight","type","integer","display_text","weight","token","WEIGHTS","flags",["optional","multiple"]],["name","aggregate","type","oneof","token","AGGREGATE","flags",["optional"],"arguments",[["name","sum","type","pure-token","display_text","sum","token","SUM"],["name","min","type","pure-token","display_text","min","token","MIN"],["name","max","type","pure-token","display_text","max","token","MAX"]]],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]]]],"hscan",["summary","Iterates over fields and values of a hash.","since","2.8.0","group","hash","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","cursor","type","integer","display_text","cursor"],["name","pattern","type","pattern","display_text","pattern","token","MATCH","flags",["optional"]],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]]]],"geohash",["summary","Returns members from a geospatial index as geohash strings.","since","3.2.0","group","geo","complexity","O(1) for each member requested.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["optional","multiple"]]]],"pexpireat",["summary","Sets the expiration time of a key to a Unix milliseconds timestamp.","since","2.6.0","group","generic","complexity","O(1)","history",[["7.0.0","Added options: `NX`, `XX`, `GT` and `LT`."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","unix-time-milliseconds","type","unix-time","display_text","unix-time-milliseconds"],["name","condition","type","oneof","since","7.0.0","flags",["optional"],"arguments",[["name","nx","type","pure-token","display_text","nx","token","NX"],["name","xx","type","pure-token","display_text","xx","token","XX"],["name","gt","type","pure-token","display_text","gt","token","GT"],["name","lt","type","pure-token","display_text","lt","token","LT"]]]]],"shutdown",["summary","Synchronously saves the database(s) to disk and shuts down the Redis server.","since","1.0.0","group","server","complexity","O(N) when saving, where N is the total number of keys in all databases when saving data, otherwise O(1)","history",[["7.0.0","Added the `NOW`, `FORCE` and `ABORT` modifiers."]],"arguments",[["name","save-selector","type","oneof","flags",["optional"],"arguments",[["name","nosave","type","pure-token","display_text","nosave","token","NOSAVE"],["name","save","type","pure-token","display_text","save","token","SAVE"]]],["name","now","type","pure-token","display_text","now","token","NOW","since","7.0.0","flags",["optional"]],["name","force","type","pure-token","display_text","force","token","FORCE","since","7.0.0","flags",["optional"]],["name","abort","type","pure-token","display_text","abort","token","ABORT","since","7.0.0","flags",["optional"]]]],"geopos",["summary","Returns the longitude and latitude of members from a geospatial index.","since","3.2.0","group","geo","complexity","O(1) for each member requested.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["optional","multiple"]]]],"ttl",["summary","Returns the expiration time in seconds of a key.","since","1.0.0","group","generic","complexity","O(1)","history",[["2.8.0","Added the -2 reply."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"readonly",["summary","Enables read-only queries for a connection to a Redis Cluster replica node.","since","3.0.0","group","cluster","complexity","O(1)"],"evalsha_ro",["summary","Executes a read-only server-side Lua script by SHA1 digest.","since","7.0.0","group","scripting","complexity","Depends on the script that is executed.","arguments",[["name","sha1","type","string","display_text","sha1"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["optional","multiple"]],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"script",["summary","A container for Lua scripts management commands.","since","2.6.0","group","scripting","complexity","Depends on subcommand.","subcommands",["script|debug",["summary","Sets the debug mode of server-side Lua scripts.","since","3.2.0","group","scripting","complexity","O(1)","arguments",[["name","mode","type","oneof","arguments",[["name","yes","type","pure-token","display_text","yes","token","YES"],["name","sync","type","pure-token","display_text","sync","token","SYNC"],["name","no","type","pure-token","display_text","no","token","NO"]]]]],"script|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","scripting","complexity","O(1)"],"script|kill",["summary","Terminates a server-side Lua script during execution.","since","2.6.0","group","scripting","complexity","O(1)"],"script|exists",["summary","Determines whether server-side Lua scripts exist in the script cache.","since","2.6.0","group","scripting","complexity","O(N) with N being the number of scripts to check (so checking a single script is an O(1) operation).","arguments",[["name","sha1","type","string","display_text","sha1","flags",["multiple"]]]],"script|flush",["summary","Removes all server-side Lua scripts from the script cache.","since","2.6.0","group","scripting","complexity","O(N) with N being the number of scripts in cache","history",[["6.2.0","Added the `ASYNC` and `SYNC` flushing mode modifiers."]],"arguments",[["name","flush-type","type","oneof","since","6.2.0","flags",["optional"],"arguments",[["name","async","type","pure-token","display_text","async","token","ASYNC"],["name","sync","type","pure-token","display_text","sync","token","SYNC"]]]]],"script|load",["summary","Loads a server-side Lua script to the script cache.","since","2.6.0","group","scripting","complexity","O(N) with N being the length in bytes of the script body.","arguments",[["name","script","type","string","display_text","script"]]]]],"readwrite",["summary","Enables read-write queries for a connection to a Reids Cluster replica node.","since","3.0.0","group","cluster","complexity","O(1)"],"sadd",["summary","Adds one or more members to a set. Creates the key if it doesn't exist.","since","1.0.0","group","set","complexity","O(1) for each element added, so O(N) to add N elements when the command is called with multiple arguments.","history",[["2.4.0","Accepts multiple `member` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member","flags",["multiple"]]]],"smembers",["summary","Returns all members of a set.","since","1.0.0","group","set","complexity","O(N) where N is the set cardinality.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"lolwut",["summary","Displays computer art and the Redis version","since","5.0.0","group","server","arguments",[["name","version","type","integer","display_text","version","token","VERSION","flags",["optional"]]]],"xautoclaim",["summary","Changes, or acquires, ownership of messages in a consumer group, as if the messages were delivered to as consumer group member.","since","6.2.0","group","stream","complexity","O(1) if COUNT is small.","history",[["7.0.0","Added an element to the reply array, containing deleted entries the command cleared from the PEL"]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","group","type","string","display_text","group"],["name","consumer","type","string","display_text","consumer"],["name","min-idle-time","type","string","display_text","min-idle-time"],["name","start","type","string","display_text","start"],["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]],["name","justid","type","pure-token","display_text","justid","token","JUSTID","flags",["optional"]]]],"hget",["summary","Returns the value of a field in a hash.","since","2.0.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field"]]],"restore",["summary","Creates a key from the serialized representation of a value.","since","2.6.0","group","generic","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)).","history",[["3.0.0","Added the `REPLACE` modifier."],["5.0.0","Added the `ABSTTL` modifier."],["5.0.0","Added the `IDLETIME` and `FREQ` options."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","ttl","type","integer","display_text","ttl"],["name","serialized-value","type","string","display_text","serialized-value"],["name","replace","type","pure-token","display_text","replace","token","REPLACE","since","3.0.0","flags",["optional"]],["name","absttl","type","pure-token","display_text","absttl","token","ABSTTL","since","5.0.0","flags",["optional"]],["name","seconds","type","integer","display_text","seconds","token","IDLETIME","since","5.0.0","flags",["optional"]],["name","frequency","type","integer","display_text","frequency","token","FREQ","since","5.0.0","flags",["optional"]]]],"bzpopmax",["summary","Removes and returns the member with the highest score from one or more sorted sets. Blocks until a member available otherwise. Deletes the sorted set if the last element was popped.","since","5.0.0","group","sorted-set","complexity","O(log(N)) with N being the number of elements in the sorted set.","history",[["6.0.0","`timeout` is interpreted as a double instead of an integer."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","timeout","type","double","display_text","timeout"]]],"pubsub",["summary","A container for Pub/Sub commands.","since","2.8.0","group","pubsub","complexity","Depends on subcommand.","subcommands",["pubsub|help",["summary","Returns helpful text about the different subcommands.","since","6.2.0","group","pubsub","complexity","O(1)"],"pubsub|numpat",["summary","Returns a count of unique pattern subscriptions.","since","2.8.0","group","pubsub","complexity","O(1)"],"pubsub|shardchannels",["summary","Returns the active shard channels.","since","7.0.0","group","pubsub","complexity","O(N) where N is the number of active shard channels, and assuming constant time pattern matching (relatively short shard channels).","arguments",[["name","pattern","type","pattern","display_text","pattern","flags",["optional"]]]],"pubsub|channels",["summary","Returns the active channels.","since","2.8.0","group","pubsub","complexity","O(N) where N is the number of active channels, and assuming constant time pattern matching (relatively short channels and patterns)","arguments",[["name","pattern","type","pattern","display_text","pattern","flags",["optional"]]]],"pubsub|numsub",["summary","Returns a count of subscribers to channels.","since","2.8.0","group","pubsub","complexity","O(N) for the NUMSUB subcommand, where N is the number of requested channels","arguments",[["name","channel","type","string","display_text","channel","flags",["optional","multiple"]]]],"pubsub|shardnumsub",["summary","Returns the count of subscribers of shard channels.","since","7.0.0","group","pubsub","complexity","O(N) for the SHARDNUMSUB subcommand, where N is the number of requested shard channels","arguments",[["name","shardchannel","type","string","display_text","shardchannel","flags",["optional","multiple"]]]]]],"ssubscribe",["summary","Listens for messages published to shard channels.","since","7.0.0","group","pubsub","complexity","O(N) where N is the number of shard channels to subscribe to.","arguments",[["name","shardchannel","type","string","display_text","shardchannel","flags",["multiple"]]]],"zinterstore",["summary","Stores the intersect of multiple sorted sets in a key.","since","2.0.0","group","sorted-set","complexity","O(N*K)+O(M*log(M)) worst case with N being the smallest input sorted set, K being the number of input sorted sets and M being the number of elements in the resulting sorted set.","arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]],["name","weight","type","integer","display_text","weight","token","WEIGHTS","flags",["optional","multiple"]],["name","aggregate","type","oneof","token","AGGREGATE","flags",["optional"],"arguments",[["name","sum","type","pure-token","display_text","sum","token","SUM"],["name","min","type","pure-token","display_text","min","token","MIN"],["name","max","type","pure-token","display_text","max","token","MAX"]]]]],"smove",["summary","Moves a member from one set to another.","since","1.0.0","group","set","complexity","O(1)","arguments",[["name","source","type","key","display_text","source","key_spec_index",0],["name","destination","type","key","display_text","destination","key_spec_index",1],["name","member","type","string","display_text","member"]]],"save",["summary","Synchronously saves the database(s) to disk.","since","1.0.0","group","server","complexity","O(N) where N is the total number of keys in all databases"],"evalsha",["summary","Executes a server-side Lua script by SHA1 digest.","since","2.6.0","group","scripting","complexity","Depends on the script that is executed.","arguments",[["name","sha1","type","string","display_text","sha1"],["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["optional","multiple"]],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"incrby",["summary","Increments the integer value of a key by a number. Uses 0 as initial value if the key doesn't exist.","since","1.0.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","increment","type","integer","display_text","increment"]]],"zdiff",["summary","Returns the difference between multiple sorted sets.","since","6.2.0","group","sorted-set","complexity","O(L + (N-K)log(N)) worst case where L is the total number of elements in all the sets, N is the size of the first set, and K is the size of the result set.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]]]],"bitfield",["summary","Performs arbitrary bitfield integer operations on strings.","since","3.2.0","group","bitmap","complexity","O(1) for each subcommand specified","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","operation","type","oneof","flags",["optional","multiple"],"arguments",[["name","get-block","type","block","token","GET","arguments",[["name","encoding","type","string","display_text","encoding"],["name","offset","type","integer","display_text","offset"]]],["name","write","type","block","arguments",[["name","overflow-block","type","oneof","token","OVERFLOW","flags",["optional"],"arguments",[["name","wrap","type","pure-token","display_text","wrap","token","WRAP"],["name","sat","type","pure-token","display_text","sat","token","SAT"],["name","fail","type","pure-token","display_text","fail","token","FAIL"]]],["name","write-operation","type","oneof","arguments",[["name","set-block","type","block","token","SET","arguments",[["name","encoding","type","string","display_text","encoding"],["name","offset","type","integer","display_text","offset"],["name","value","type","integer","display_text","value"]]],["name","incrby-block","type","block","token","INCRBY","arguments",[["name","encoding","type","string","display_text","encoding"],["name","offset","type","integer","display_text","offset"],["name","increment","type","integer","display_text","increment"]]]]]]]]]]],"sunionstore",["summary","Stores the union of multiple sets in a key.","since","1.0.0","group","set","complexity","O(N) where N is the total number of elements in all given sets.","arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]]]],"hvals",["summary","Returns all values in a hash.","since","2.0.0","group","hash","complexity","O(N) where N is the size of the hash.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"zremrangebyscore",["summary","Removes members in a sorted set within a range of scores. Deletes the sorted set if all members were removed.","since","1.2.0","group","sorted-set","complexity","O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements removed by the operation.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","min","type","double","display_text","min"],["name","max","type","double","display_text","max"]]],"hexists",["summary","Determines whether a field exists in a hash.","since","2.0.0","group","hash","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field"]]],"bzpopmin",["summary","Removes and returns the member with the lowest score from one or more sorted sets. Blocks until a member is available otherwise. Deletes the sorted set if the last element was popped.","since","5.0.0","group","sorted-set","complexity","O(log(N)) with N being the number of elements in the sorted set.","history",[["6.0.0","`timeout` is interpreted as a double instead of an integer."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","timeout","type","double","display_text","timeout"]]],"zrevrangebyscore",["summary","Returns members in a sorted set within a range of scores in reverse order.","since","2.2.0","group","sorted-set","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)).","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`ZRANGE` with the `REV` and `BYSCORE` arguments","history",[["2.1.6","`min` and `max` can be exclusive."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","max","type","double","display_text","max"],["name","min","type","double","display_text","min"],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]]]],"hdel",["summary","Deletes one or more fields and their values from a hash. Deletes the hash if no fields remain.","since","2.0.0","group","hash","complexity","O(N) where N is the number of fields to be removed.","history",[["2.4.0","Accepts multiple `field` arguments."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","field","type","string","display_text","field","flags",["multiple"]]]],"sunsubscribe",["summary","Stops listening to messages posted to shard channels.","since","7.0.0","group","pubsub","complexity","O(N) where N is the number of shard channels to unsubscribe.","arguments",[["name","shardchannel","type","string","display_text","shardchannel","flags",["optional","multiple"]]]],"xread",["summary","Returns messages from multiple streams with IDs greater than the ones requested. Blocks until a message is available otherwise.","since","5.0.0","group","stream","arguments",[["name","count","type","integer","display_text","count","token","COUNT","flags",["optional"]],["name","milliseconds","type","integer","display_text","milliseconds","token","BLOCK","flags",["optional"]],["name","streams","type","block","token","STREAMS","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","id","type","string","display_text","id","flags",["multiple"]]]]]],"blmove",["summary","Pops an element from a list, pushes it to another list and returns it. Blocks until an element is available otherwise. Deletes the list if the last element was moved.","since","6.2.0","group","list","complexity","O(1)","arguments",[["name","source","type","key","display_text","source","key_spec_index",0],["name","destination","type","key","display_text","destination","key_spec_index",1],["name","wherefrom","type","oneof","arguments",[["name","left","type","pure-token","display_text","left","token","LEFT"],["name","right","type","pure-token","display_text","right","token","RIGHT"]]],["name","whereto","type","oneof","arguments",[["name","left","type","pure-token","display_text","left","token","LEFT"],["name","right","type","pure-token","display_text","right","token","RIGHT"]]],["name","timeout","type","double","display_text","timeout"]]],"randomkey",["summary","Returns a random key name from the database.","since","1.0.0","group","generic","complexity","O(1)"],"function",["summary","A container for function commands.","since","7.0.0","group","scripting","complexity","Depends on subcommand.","subcommands",["function|delete",["summary","Deletes a library and its functions.","since","7.0.0","group","scripting","complexity","O(1)","arguments",[["name","library-name","type","string","display_text","library-name"]]],"function|dump",["summary","Dumps all libraries into a serialized binary payload.","since","7.0.0","group","scripting","complexity","O(N) where N is the number of functions"],"function|kill",["summary","Terminates a function during execution.","since","7.0.0","group","scripting","complexity","O(1)"],"function|restore",["summary","Restores all libraries from a payload.","since","7.0.0","group","scripting","complexity","O(N) where N is the number of functions on the payload","arguments",[["name","serialized-value","type","string","display_text","serialized-value"],["name","policy","type","oneof","flags",["optional"],"arguments",[["name","flush","type","pure-token","display_text","flush","token","FLUSH"],["name","append","type","pure-token","display_text","append","token","APPEND"],["name","replace","type","pure-token","display_text","replace","token","REPLACE"]]]]],"function|flush",["summary","Deletes all libraries and functions.","since","7.0.0","group","scripting","complexity","O(N) where N is the number of functions deleted","arguments",[["name","flush-type","type","oneof","flags",["optional"],"arguments",[["name","async","type","pure-token","display_text","async","token","ASYNC"],["name","sync","type","pure-token","display_text","sync","token","SYNC"]]]]],"function|list",["summary","Returns information about all libraries.","since","7.0.0","group","scripting","complexity","O(N) where N is the number of functions","arguments",[["name","library-name-pattern","type","string","display_text","library-name-pattern","token","LIBRARYNAME","flags",["optional"]],["name","withcode","type","pure-token","display_text","withcode","token","WITHCODE","flags",["optional"]]]],"function|help",["summary","Returns helpful text about the different subcommands.","since","7.0.0","group","scripting","complexity","O(1)"],"function|load",["summary","Creates a library.","since","7.0.0","group","scripting","complexity","O(1) (considering compilation time is redundant)","arguments",[["name","replace","type","pure-token","display_text","replace","token","REPLACE","flags",["optional"]],["name","function-code","type","string","display_text","function-code"]]],"function|stats",["summary","Returns information about a function during execution.","since","7.0.0","group","scripting","complexity","O(1)"]]],"sort_ro",["summary","Returns the sorted elements of a list, a set, or a sorted set.","since","7.0.0","group","generic","complexity","O(N+M*log(M)) where N is the number of elements in the list or set to sort, and M the number of returned elements. When the elements are not sorted, complexity is O(N).","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","by-pattern","type","pattern","display_text","pattern","key_spec_index",1,"token","BY","flags",["optional"]],["name","limit","type","block","token","LIMIT","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]],["name","get-pattern","type","pattern","display_text","pattern","key_spec_index",1,"token","GET","flags",["optional","multiple","multiple_token"]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]],["name","sorting","type","pure-token","display_text","sorting","token","ALPHA","flags",["optional"]]]],"select",["summary","Changes the selected database.","since","1.0.0","group","connection","complexity","O(1)","arguments",[["name","index","type","integer","display_text","index"]]],"zcount",["summary","Returns the count of members in a sorted set that have scores within a range.","since","2.0.0","group","sorted-set","complexity","O(log(N)) with N being the number of elements in the sorted set.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","min","type","double","display_text","min"],["name","max","type","double","display_text","max"]]],"command",["summary","Returns detailed information about all commands.","since","2.8.13","group","server","complexity","O(N) where N is the total number of Redis commands","subcommands",["command|getkeysandflags",["summary","Extracts the key names and access flags for an arbitrary command.","since","7.0.0","group","server","complexity","O(N) where N is the number of arguments to the command","arguments",[["name","command","type","string","display_text","command"],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"command|info",["summary","Returns information about one, multiple or all commands.","since","2.8.13","group","server","complexity","O(N) where N is the number of commands to look up","history",[["7.0.0","Allowed to be called with no argument to get info on all commands."]],"arguments",[["name","command-name","type","string","display_text","command-name","flags",["optional","multiple"]]]],"command|getkeys",["summary","Extracts the key names from an arbitrary command.","since","2.8.13","group","server","complexity","O(N) where N is the number of arguments to the command","arguments",[["name","command","type","string","display_text","command"],["name","arg","type","string","display_text","arg","flags",["optional","multiple"]]]],"command|list",["summary","Returns a list of command names.","since","7.0.0","group","server","complexity","O(N) where N is the total number of Redis commands","arguments",[["name","filterby","type","oneof","token","FILTERBY","flags",["optional"],"arguments",[["name","module-name","type","string","display_text","module-name","token","MODULE"],["name","category","type","string","display_text","category","token","ACLCAT"],["name","pattern","type","pattern","display_text","pattern","token","PATTERN"]]]]],"command|docs",["summary","Returns documentary information about one, multiple or all commands.","since","7.0.0","group","server","complexity","O(N) where N is the number of commands to look up","arguments",[["name","command-name","type","string","display_text","command-name","flags",["optional","multiple"]]]],"command|count",["summary","Returns a count of commands.","since","2.8.13","group","server","complexity","O(1)"],"command|help",["summary","Returns helpful text about the different subcommands.","since","5.0.0","group","server","complexity","O(1)"]]],"sismember",["summary","Determines whether a member belongs to a set.","since","1.0.0","group","set","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member"]]],"getrange",["summary","Returns a substring of the string stored at a key.","since","2.4.0","group","string","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","integer","display_text","start"],["name","end","type","integer","display_text","end"]]],"psubscribe",["summary","Listens for messages published to channels that match one or more patterns.","since","2.0.0","group","pubsub","complexity","O(N) where N is the number of patterns to subscribe to.","arguments",[["name","pattern","type","pattern","display_text","pattern","flags",["multiple"]]]],"zremrangebyrank",["summary","Removes members in a sorted set within a range of indexes. Deletes the sorted set if all members were removed.","since","2.0.0","group","sorted-set","complexity","O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements removed by the operation.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","integer","display_text","start"],["name","stop","type","integer","display_text","stop"]]],"scard",["summary","Returns the number of members in a set.","since","1.0.0","group","set","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"georadius",["summary","Queries a geospatial index for members within a distance from a coordinate, optionally stores the result.","since","3.2.0","group","geo","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.","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`GEOSEARCH` and `GEOSEARCHSTORE` with the `BYRADIUS` argument","history",[["6.2.0","Added the `ANY` option for `COUNT`."],["7.0.0","Added support for uppercase unit names."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","longitude","type","double","display_text","longitude"],["name","latitude","type","double","display_text","latitude"],["name","radius","type","double","display_text","radius"],["name","unit","type","oneof","arguments",[["name","m","type","pure-token","display_text","m","token","M"],["name","km","type","pure-token","display_text","km","token","KM"],["name","ft","type","pure-token","display_text","ft","token","FT"],["name","mi","type","pure-token","display_text","mi","token","MI"]]],["name","withcoord","type","pure-token","display_text","withcoord","token","WITHCOORD","flags",["optional"]],["name","withdist","type","pure-token","display_text","withdist","token","WITHDIST","flags",["optional"]],["name","withhash","type","pure-token","display_text","withhash","token","WITHHASH","flags",["optional"]],["name","count-block","type","block","flags",["optional"],"arguments",[["name","count","type","integer","display_text","count","token","COUNT"],["name","any","type","pure-token","display_text","any","token","ANY","since","6.2.0","flags",["optional"]]]],["name","order","type","oneof","flags",["optional"],"arguments",[["name","asc","type","pure-token","display_text","asc","token","ASC"],["name","desc","type","pure-token","display_text","desc","token","DESC"]]],["name","store","type","oneof","flags",["optional"],"arguments",[["name","storekey","type","key","display_text","key","key_spec_index",1,"token","STORE"],["name","storedistkey","type","key","display_text","key","key_spec_index",2,"token","STOREDIST"]]]]],"zrevrank",["summary","Returns the index of a member in a sorted set ordered by descending scores.","since","2.0.0","group","sorted-set","complexity","O(log(N))","history",[["7.2.0","Added the optional `WITHSCORE` argument."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","member","type","string","display_text","member"],["name","withscore","type","pure-token","display_text","withscore","token","WITHSCORE","flags",["optional"]]]],"monitor",["summary","Listens for all requests received by the server in real-time.","since","1.0.0","group","server"],"sdiff",["summary","Returns the difference of multiple sets.","since","1.0.0","group","set","complexity","O(N) where N is the total number of elements in all given sets.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"zinter",["summary","Returns the intersect of multiple sorted sets.","since","6.2.0","group","sorted-set","complexity","O(N*K)+O(M*log(M)) worst case with N being the smallest input sorted set, K being the number of input sorted sets and M being the number of elements in the resulting sorted set.","arguments",[["name","numkeys","type","integer","display_text","numkeys"],["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]],["name","weight","type","integer","display_text","weight","token","WEIGHTS","flags",["optional","multiple"]],["name","aggregate","type","oneof","token","AGGREGATE","flags",["optional"],"arguments",[["name","sum","type","pure-token","display_text","sum","token","SUM"],["name","min","type","pure-token","display_text","min","token","MIN"],["name","max","type","pure-token","display_text","max","token","MAX"]]],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]]]],"get",["summary","Returns the string value of a key.","since","1.0.0","group","string","complexity","O(1)","arguments",[["name","key","type","key","display_text","key","key_spec_index",0]]],"pfselftest",["summary","An internal command for testing HyperLogLog values.","since","2.8.9","group","hyperloglog","complexity","N/A","doc_flags",["syscmd"]],"zrange",["summary","Returns members in a sorted set within a range of indexes.","since","1.2.0","group","sorted-set","complexity","O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements returned.","history",[["6.2.0","Added the `REV`, `BYSCORE`, `BYLEX` and `LIMIT` options."]],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","start","type","string","display_text","start"],["name","stop","type","string","display_text","stop"],["name","sortby","type","oneof","since","6.2.0","flags",["optional"],"arguments",[["name","byscore","type","pure-token","display_text","byscore","token","BYSCORE"],["name","bylex","type","pure-token","display_text","bylex","token","BYLEX"]]],["name","rev","type","pure-token","display_text","rev","token","REV","since","6.2.0","flags",["optional"]],["name","limit","type","block","token","LIMIT","since","6.2.0","flags",["optional"],"arguments",[["name","offset","type","integer","display_text","offset"],["name","count","type","integer","display_text","count"]]],["name","withscores","type","pure-token","display_text","withscores","token","WITHSCORES","flags",["optional"]]]],"sinterstore",["summary","Stores the intersect of multiple sets in a key.","since","1.0.0","group","set","complexity","O(N*M) worst case where N is the cardinality of the smallest set and M is the number of sets.","arguments",[["name","destination","type","key","display_text","destination","key_spec_index",0],["name","key","type","key","display_text","key","key_spec_index",1,"flags",["multiple"]]]],"pfcount",["summary","Returns the approximated cardinality of the set(s) observed by the HyperLogLog key(s).","since","2.8.9","group","hyperloglog","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.","arguments",[["name","key","type","key","display_text","key","key_spec_index",0,"flags",["multiple"]]]],"brpoplpush",["summary","Pops an element from a list, pushes it to another list and returns it. Block until an element is available otherwise. Deletes the list if the last element was popped.","since","2.2.0","group","list","complexity","O(1)","doc_flags",["deprecated"],"deprecated_since","6.2.0","replaced_by","`BLMOVE` with the `RIGHT` and `LEFT` arguments","history",[["6.0.0","`timeout` is interpreted as a double instead of an integer."]],"arguments",[["name","source","type","key","display_text","source","key_spec_index",0],["name","destination","type","key","display_text","destination","key_spec_index",1],["name","timeout","type","double","display_text","timeout"]]],"msetnx",["summary","Atomically modifies the string values of one or more keys only when all keys don't exist.","since","1.0.1","group","string","complexity","O(N) where N is the number of keys to set.","arguments",[["name","data","type","block","flags",["multiple"],"arguments",[["name","key","type","key","display_text","key","key_spec_index",0],["name","value","type","string","display_text","value"]]]]]] \ No newline at end of file diff --git a/data/info.json b/data/info.json index 62fdf650..bc343b09 100644 --- a/data/info.json +++ b/data/info.json @@ -1 +1 @@ -"# Server\r\nredis_version:7.2.1\r\nredis_git_sha1:00000000\r\nredis_git_dirty:0\r\nredis_build_id:9392225f50acfb06\r\nredis_mode:standalone\r\nos:Linux 6.2.0-1012-azure x86_64\r\narch_bits:64\r\nmonotonic_clock:POSIX clock_gettime\r\nmultiplexing_api:epoll\r\natomicvar_api:c11-builtin\r\ngcc_version:12.2.0\r\nprocess_id:1\r\nprocess_supervised:no\r\nrun_id:a37911f9ac708936c9a02522cb2e6601a3392832\r\ntcp_port:6379\r\nserver_time_usec:1695986882280660\r\nuptime_in_seconds:82\r\nuptime_in_days:0\r\nhz:10\r\nconfigured_hz:10\r\nlru_clock:1488066\r\nexecutable:/tmp/redis-server\r\nconfig_file:\r\nio_threads_active:0\r\nlistener0:name=tcp,bind=*,bind=-::*,port=6379\r\n\r\n# Clients\r\nconnected_clients:1\r\ncluster_connections:0\r\nmaxclients:10000\r\nclient_recent_max_input_buffer:20480\r\nclient_recent_max_output_buffer:0\r\nblocked_clients:0\r\ntracking_clients:0\r\nclients_in_timeout_table:0\r\ntotal_blocking_keys:0\r\ntotal_blocking_keys_on_nokey:0\r\n\r\n# Memory\r\nused_memory:4095272\r\nused_memory_human:3.91M\r\nused_memory_rss:15638528\r\nused_memory_rss_human:14.91M\r\nused_memory_peak:4185896\r\nused_memory_peak_human:3.99M\r\nused_memory_peak_perc:97.84%\r\nused_memory_overhead:868104\r\nused_memory_startup:865744\r\nused_memory_dataset:3227168\r\nused_memory_dataset_perc:99.93%\r\nallocator_allocated:4244280\r\nallocator_active:4558848\r\nallocator_resident:7241728\r\ntotal_system_memory:7258234880\r\ntotal_system_memory_human:6.76G\r\nused_memory_lua:40960\r\nused_memory_vm_eval:40960\r\nused_memory_lua_human:40.00K\r\nused_memory_scripts_eval:2176\r\nnumber_of_cached_scripts:11\r\nnumber_of_functions:0\r\nnumber_of_libraries:0\r\nused_memory_vm_functions:32768\r\nused_memory_vm_total:73728\r\nused_memory_vm_total_human:72.00K\r\nused_memory_functions:184\r\nused_memory_scripts:2360\r\nused_memory_scripts_human:2.30K\r\nmaxmemory:0\r\nmaxmemory_human:0B\r\nmaxmemory_policy:noeviction\r\nallocator_frag_ratio:1.07\r\nallocator_frag_bytes:314568\r\nallocator_rss_ratio:1.59\r\nallocator_rss_bytes:2682880\r\nrss_overhead_ratio:2.16\r\nrss_overhead_bytes:8396800\r\nmem_fragmentation_ratio:3.86\r\nmem_fragmentation_bytes:11583264\r\nmem_not_counted_for_evict:0\r\nmem_replication_backlog:0\r\nmem_total_replication_buffers:0\r\nmem_clients_slaves:0\r\nmem_clients_normal:0\r\nmem_cluster_links:0\r\nmem_aof_buffer:0\r\nmem_allocator:jemalloc-5.3.0\r\nactive_defrag_running:0\r\nlazyfree_pending_objects:0\r\nlazyfreed_objects:0\r\n\r\n# Persistence\r\nloading:0\r\nasync_loading:0\r\ncurrent_cow_peak:0\r\ncurrent_cow_size:0\r\ncurrent_cow_size_age:0\r\ncurrent_fork_perc:0.00\r\ncurrent_save_keys_processed:0\r\ncurrent_save_keys_total:0\r\nrdb_changes_since_last_save:0\r\nrdb_bgsave_in_progress:0\r\nrdb_last_save_time:1695986882\r\nrdb_last_bgsave_status:ok\r\nrdb_last_bgsave_time_sec:0\r\nrdb_current_bgsave_time_sec:-1\r\nrdb_saves:3\r\nrdb_last_cow_size:253952\r\nrdb_last_load_keys_expired:0\r\nrdb_last_load_keys_loaded:0\r\naof_enabled:0\r\naof_rewrite_in_progress:0\r\naof_rewrite_scheduled:0\r\naof_last_rewrite_time_sec:0\r\naof_current_rewrite_time_sec:-1\r\naof_last_bgrewrite_status:ok\r\naof_rewrites:1\r\naof_rewrites_consecutive_failures:0\r\naof_last_write_status:ok\r\naof_last_cow_size:249856\r\nmodule_fork_in_progress:0\r\nmodule_fork_last_cow_size:0\r\n\r\n# Stats\r\ntotal_connections_received:952\r\ntotal_commands_processed:2827\r\ninstantaneous_ops_per_sec:35\r\ntotal_net_input_bytes:75447\r\ntotal_net_output_bytes:5153513\r\ntotal_net_repl_input_bytes:0\r\ntotal_net_repl_output_bytes:0\r\ninstantaneous_input_kbps:0.67\r\ninstantaneous_output_kbps:81.83\r\ninstantaneous_input_repl_kbps:0.00\r\ninstantaneous_output_repl_kbps:0.00\r\nrejected_connections:0\r\nsync_full:0\r\nsync_partial_ok:0\r\nsync_partial_err:0\r\nexpired_keys:16\r\nexpired_stale_perc:0.90\r\nexpired_time_cap_reached_count:0\r\nexpire_cycle_cpu_milliseconds:0\r\nevicted_keys:0\r\nevicted_clients:0\r\ntotal_eviction_exceeded_time:0\r\ncurrent_eviction_exceeded_time:0\r\nkeyspace_hits:381\r\nkeyspace_misses:147\r\npubsub_channels:0\r\npubsub_patterns:0\r\npubsubshard_channels:0\r\nlatest_fork_usec:341\r\ntotal_forks:2\r\nmigrate_cached_sockets:0\r\nslave_expires_tracked_keys:0\r\nactive_defrag_hits:0\r\nactive_defrag_misses:0\r\nactive_defrag_key_hits:0\r\nactive_defrag_key_misses:0\r\ntotal_active_defrag_time:0\r\ncurrent_active_defrag_time:0\r\ntracking_total_keys:0\r\ntracking_total_items:0\r\ntracking_total_prefixes:0\r\nunexpected_error_replies:0\r\ntotal_error_replies:87\r\ndump_payload_sanitizations:0\r\ntotal_reads_processed:3769\r\ntotal_writes_processed:2818\r\nio_threaded_reads_processed:0\r\nio_threaded_writes_processed:0\r\nreply_buffer_shrinks:16\r\nreply_buffer_expands:0\r\neventloop_cycles:5086\r\neventloop_duration_sum:1498635\r\neventloop_duration_cmd_sum:1276574\r\ninstantaneous_eventloop_cycles_per_sec:79\r\ninstantaneous_eventloop_duration_usec:235\r\nacl_access_denied_auth:0\r\nacl_access_denied_cmd:0\r\nacl_access_denied_key:0\r\nacl_access_denied_channel:0\r\n\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:0040a964f8ee315dc46e1ea0722b0c9dd22e994c\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n# CPU\r\nused_cpu_sys:0.466599\r\nused_cpu_user:0.262291\r\nused_cpu_sys_children:0.000000\r\nused_cpu_user_children:0.005782\r\nused_cpu_sys_main_thread:0.467994\r\nused_cpu_user_main_thread:0.258484\r\n\r\n# Modules\r\n\r\n# Errorstats\r\nerrorstat_ERR:count=66\r\nerrorstat_NOSCRIPT:count=2\r\nerrorstat_WRONGTYPE:count=19\r\n\r\n# Cluster\r\ncluster_enabled:0\r\n\r\n# Keyspace\r\n" \ No newline at end of file +"# Server\r\nredis_version:7.2.3\r\nredis_git_sha1:00000000\r\nredis_git_dirty:0\r\nredis_build_id:9b0796a828280810\r\nredis_mode:standalone\r\nos:Linux 6.2.0-1015-azure x86_64\r\narch_bits:64\r\nmonotonic_clock:POSIX clock_gettime\r\nmultiplexing_api:epoll\r\natomicvar_api:c11-builtin\r\ngcc_version:12.2.0\r\nprocess_id:1\r\nprocess_supervised:no\r\nrun_id:a3e770afd22d781dd24383571d2762acc6e3f715\r\ntcp_port:6379\r\nserver_time_usec:1699070763571268\r\nuptime_in_seconds:102\r\nuptime_in_days:0\r\nhz:10\r\nconfigured_hz:10\r\nlru_clock:4571947\r\nexecutable:/tmp/redis-server\r\nconfig_file:\r\nio_threads_active:0\r\nlistener0:name=tcp,bind=*,bind=-::*,port=6379\r\n\r\n# Clients\r\nconnected_clients:1\r\ncluster_connections:0\r\nmaxclients:10000\r\nclient_recent_max_input_buffer:8\r\nclient_recent_max_output_buffer:0\r\nblocked_clients:0\r\ntracking_clients:0\r\nclients_in_timeout_table:0\r\ntotal_blocking_keys:0\r\ntotal_blocking_keys_on_nokey:0\r\n\r\n# Memory\r\nused_memory:4094664\r\nused_memory_human:3.90M\r\nused_memory_rss:16486400\r\nused_memory_rss_human:15.72M\r\nused_memory_peak:4185288\r\nused_memory_peak_human:3.99M\r\nused_memory_peak_perc:97.83%\r\nused_memory_overhead:868136\r\nused_memory_startup:865776\r\nused_memory_dataset:3226528\r\nused_memory_dataset_perc:99.93%\r\nallocator_allocated:4243256\r\nallocator_active:4558848\r\nallocator_resident:7241728\r\ntotal_system_memory:7258214400\r\ntotal_system_memory_human:6.76G\r\nused_memory_lua:40960\r\nused_memory_vm_eval:40960\r\nused_memory_lua_human:40.00K\r\nused_memory_scripts_eval:2176\r\nnumber_of_cached_scripts:11\r\nnumber_of_functions:0\r\nnumber_of_libraries:0\r\nused_memory_vm_functions:32768\r\nused_memory_vm_total:73728\r\nused_memory_vm_total_human:72.00K\r\nused_memory_functions:184\r\nused_memory_scripts:2360\r\nused_memory_scripts_human:2.30K\r\nmaxmemory:0\r\nmaxmemory_human:0B\r\nmaxmemory_policy:noeviction\r\nallocator_frag_ratio:1.07\r\nallocator_frag_bytes:315592\r\nallocator_rss_ratio:1.59\r\nallocator_rss_bytes:2682880\r\nrss_overhead_ratio:2.28\r\nrss_overhead_bytes:9244672\r\nmem_fragmentation_ratio:4.07\r\nmem_fragmentation_bytes:12431744\r\nmem_not_counted_for_evict:0\r\nmem_replication_backlog:0\r\nmem_total_replication_buffers:0\r\nmem_clients_slaves:0\r\nmem_clients_normal:0\r\nmem_cluster_links:0\r\nmem_aof_buffer:0\r\nmem_allocator:jemalloc-5.3.0\r\nactive_defrag_running:0\r\nlazyfree_pending_objects:0\r\nlazyfreed_objects:0\r\n\r\n# Persistence\r\nloading:0\r\nasync_loading:0\r\ncurrent_cow_peak:0\r\ncurrent_cow_size:0\r\ncurrent_cow_size_age:0\r\ncurrent_fork_perc:0.00\r\ncurrent_save_keys_processed:0\r\ncurrent_save_keys_total:0\r\nrdb_changes_since_last_save:0\r\nrdb_bgsave_in_progress:0\r\nrdb_last_save_time:1699070763\r\nrdb_last_bgsave_status:ok\r\nrdb_last_bgsave_time_sec:0\r\nrdb_current_bgsave_time_sec:-1\r\nrdb_saves:3\r\nrdb_last_cow_size:286720\r\nrdb_last_load_keys_expired:0\r\nrdb_last_load_keys_loaded:0\r\naof_enabled:0\r\naof_rewrite_in_progress:0\r\naof_rewrite_scheduled:0\r\naof_last_rewrite_time_sec:0\r\naof_current_rewrite_time_sec:-1\r\naof_last_bgrewrite_status:ok\r\naof_rewrites:1\r\naof_rewrites_consecutive_failures:0\r\naof_last_write_status:ok\r\naof_last_cow_size:237568\r\nmodule_fork_in_progress:0\r\nmodule_fork_last_cow_size:0\r\n\r\n# Stats\r\ntotal_connections_received:952\r\ntotal_commands_processed:2827\r\ninstantaneous_ops_per_sec:20\r\ntotal_net_input_bytes:75447\r\ntotal_net_output_bytes:5152496\r\ntotal_net_repl_input_bytes:0\r\ntotal_net_repl_output_bytes:0\r\ninstantaneous_input_kbps:0.34\r\ninstantaneous_output_kbps:55.59\r\ninstantaneous_input_repl_kbps:0.00\r\ninstantaneous_output_repl_kbps:0.00\r\nrejected_connections:0\r\nsync_full:0\r\nsync_partial_ok:0\r\nsync_partial_err:0\r\nexpired_keys:16\r\nexpired_stale_perc:0.29\r\nexpired_time_cap_reached_count:0\r\nexpire_cycle_cpu_milliseconds:0\r\nevicted_keys:0\r\nevicted_clients:0\r\ntotal_eviction_exceeded_time:0\r\ncurrent_eviction_exceeded_time:0\r\nkeyspace_hits:381\r\nkeyspace_misses:147\r\npubsub_channels:0\r\npubsub_patterns:0\r\npubsubshard_channels:0\r\nlatest_fork_usec:337\r\ntotal_forks:2\r\nmigrate_cached_sockets:0\r\nslave_expires_tracked_keys:0\r\nactive_defrag_hits:0\r\nactive_defrag_misses:0\r\nactive_defrag_key_hits:0\r\nactive_defrag_key_misses:0\r\ntotal_active_defrag_time:0\r\ncurrent_active_defrag_time:0\r\ntracking_total_keys:0\r\ntracking_total_items:0\r\ntracking_total_prefixes:0\r\nunexpected_error_replies:0\r\ntotal_error_replies:87\r\ndump_payload_sanitizations:0\r\ntotal_reads_processed:3776\r\ntotal_writes_processed:2825\r\nio_threaded_reads_processed:0\r\nio_threaded_writes_processed:0\r\nreply_buffer_shrinks:16\r\nreply_buffer_expands:0\r\neventloop_cycles:5163\r\neventloop_duration_sum:1195155\r\neventloop_duration_cmd_sum:968413\r\ninstantaneous_eventloop_cycles_per_sec:55\r\ninstantaneous_eventloop_duration_usec:192\r\nacl_access_denied_auth:0\r\nacl_access_denied_cmd:0\r\nacl_access_denied_key:0\r\nacl_access_denied_channel:0\r\n\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:763311b5220e682fc3b9e5a4bcfd5b9a52553085\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n# CPU\r\nused_cpu_sys:0.393100\r\nused_cpu_user:0.346872\r\nused_cpu_sys_children:0.000000\r\nused_cpu_user_children:0.005618\r\nused_cpu_sys_main_thread:0.394016\r\nused_cpu_user_main_thread:0.343687\r\n\r\n# Modules\r\n\r\n# Errorstats\r\nerrorstat_ERR:count=66\r\nerrorstat_NOSCRIPT:count=2\r\nerrorstat_WRONGTYPE:count=19\r\n\r\n# Cluster\r\ncluster_enabled:0\r\n\r\n# Keyspace\r\n" \ No newline at end of file diff --git a/test/integration/commands/__snapshots__/info.js.snap b/test/integration/commands/__snapshots__/info.js.snap index 2d1733c7..d642e60f 100644 --- a/test/integration/commands/__snapshots__/info.js.snap +++ b/test/integration/commands/__snapshots__/info.js.snap @@ -1,22 +1,22 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`info should return default info with CRLF 1`] = `"redis_version:7.2.1"`; +exports[`info should return default info with CRLF 1`] = `"redis_version:7.2.3"`; exports[`info should return enough info to be useful 1`] = ` [ "# Server ", - "redis_version:7.2.1 + "redis_version:7.2.3 ", "redis_git_sha1:00000000 ", "redis_git_dirty:0 ", - "redis_build_id:9392225f50acfb06 + "redis_build_id:9b0796a828280810 ", "redis_mode:standalone ", - "os:Linux 6.2.0-1012-azure x86_64 + "os:Linux 6.2.0-1015-azure x86_64 ", "arch_bits:64 ", @@ -32,13 +32,13 @@ exports[`info should return enough info to be useful 1`] = ` ", "process_supervised:no ", - "run_id:a37911f9ac708936c9a02522cb2e6601a3392832 + "run_id:a3e770afd22d781dd24383571d2762acc6e3f715 ", "tcp_port:6379 ", - "server_time_usec:1695986882280660 + "server_time_usec:1699070763571268 ", - "uptime_in_seconds:82 + "uptime_in_seconds:102 ", "uptime_in_days:0 ", @@ -46,7 +46,7 @@ exports[`info should return enough info to be useful 1`] = ` ", "configured_hz:10 ", - "lru_clock:1488066 + "lru_clock:4571947 ", "executable:/tmp/redis-server ", @@ -66,7 +66,7 @@ exports[`info should return enough info to be useful 1`] = ` ", "maxclients:10000 ", - "client_recent_max_input_buffer:20480 + "client_recent_max_input_buffer:8 ", "client_recent_max_output_buffer:0 ", @@ -84,35 +84,35 @@ exports[`info should return enough info to be useful 1`] = ` ", "# Memory ", - "used_memory:4095272 + "used_memory:4094664 ", - "used_memory_human:3.91M + "used_memory_human:3.90M ", - "used_memory_rss:15638528 + "used_memory_rss:16486400 ", - "used_memory_rss_human:14.91M + "used_memory_rss_human:15.72M ", - "used_memory_peak:4185896 + "used_memory_peak:4185288 ", "used_memory_peak_human:3.99M ", - "used_memory_peak_perc:97.84% + "used_memory_peak_perc:97.83% ", - "used_memory_overhead:868104 + "used_memory_overhead:868136 ", - "used_memory_startup:865744 + "used_memory_startup:865776 ", - "used_memory_dataset:3227168 + "used_memory_dataset:3226528 ", "used_memory_dataset_perc:99.93% ", - "allocator_allocated:4244280 + "allocator_allocated:4243256 ", "allocator_active:4558848 ", "allocator_resident:7241728 ", - "total_system_memory:7258234880 + "total_system_memory:7258214400 ", "total_system_memory_human:6.76G ", @@ -150,19 +150,19 @@ exports[`info should return enough info to be useful 1`] = ` ", "allocator_frag_ratio:1.07 ", - "allocator_frag_bytes:314568 + "allocator_frag_bytes:315592 ", "allocator_rss_ratio:1.59 ", "allocator_rss_bytes:2682880 ", - "rss_overhead_ratio:2.16 + "rss_overhead_ratio:2.28 ", - "rss_overhead_bytes:8396800 + "rss_overhead_bytes:9244672 ", - "mem_fragmentation_ratio:3.86 + "mem_fragmentation_ratio:4.07 ", - "mem_fragmentation_bytes:11583264 + "mem_fragmentation_bytes:12431744 ", "mem_not_counted_for_evict:0 ", @@ -210,7 +210,7 @@ exports[`info should return enough info to be useful 1`] = ` ", "rdb_bgsave_in_progress:0 ", - "rdb_last_save_time:1695986882 + "rdb_last_save_time:1699070763 ", "rdb_last_bgsave_status:ok ", @@ -220,7 +220,7 @@ exports[`info should return enough info to be useful 1`] = ` ", "rdb_saves:3 ", - "rdb_last_cow_size:253952 + "rdb_last_cow_size:286720 ", "rdb_last_load_keys_expired:0 ", @@ -244,7 +244,7 @@ exports[`info should return enough info to be useful 1`] = ` ", "aof_last_write_status:ok ", - "aof_last_cow_size:249856 + "aof_last_cow_size:237568 ", "module_fork_in_progress:0 ", @@ -258,19 +258,19 @@ exports[`info should return enough info to be useful 1`] = ` ", "total_commands_processed:2827 ", - "instantaneous_ops_per_sec:35 + "instantaneous_ops_per_sec:20 ", "total_net_input_bytes:75447 ", - "total_net_output_bytes:5153513 + "total_net_output_bytes:5152496 ", "total_net_repl_input_bytes:0 ", "total_net_repl_output_bytes:0 ", - "instantaneous_input_kbps:0.67 + "instantaneous_input_kbps:0.34 ", - "instantaneous_output_kbps:81.83 + "instantaneous_output_kbps:55.59 ", "instantaneous_input_repl_kbps:0.00 ", @@ -286,7 +286,7 @@ exports[`info should return enough info to be useful 1`] = ` ", "expired_keys:16 ", - "expired_stale_perc:0.90 + "expired_stale_perc:0.29 ", "expired_time_cap_reached_count:0 ", @@ -310,7 +310,7 @@ exports[`info should return enough info to be useful 1`] = ` ", "pubsubshard_channels:0 ", - "latest_fork_usec:341 + "latest_fork_usec:337 ", "total_forks:2 ", @@ -342,9 +342,9 @@ exports[`info should return enough info to be useful 1`] = ` ", "dump_payload_sanitizations:0 ", - "total_reads_processed:3769 + "total_reads_processed:3776 ", - "total_writes_processed:2818 + "total_writes_processed:2825 ", "io_threaded_reads_processed:0 ", @@ -354,15 +354,15 @@ exports[`info should return enough info to be useful 1`] = ` ", "reply_buffer_expands:0 ", - "eventloop_cycles:5086 + "eventloop_cycles:5163 ", - "eventloop_duration_sum:1498635 + "eventloop_duration_sum:1195155 ", - "eventloop_duration_cmd_sum:1276574 + "eventloop_duration_cmd_sum:968413 ", - "instantaneous_eventloop_cycles_per_sec:79 + "instantaneous_eventloop_cycles_per_sec:55 ", - "instantaneous_eventloop_duration_usec:235 + "instantaneous_eventloop_duration_usec:192 ", "acl_access_denied_auth:0 ", @@ -382,7 +382,7 @@ exports[`info should return enough info to be useful 1`] = ` ", "master_failover_state:no-failover ", - "master_replid:0040a964f8ee315dc46e1ea0722b0c9dd22e994c + "master_replid:763311b5220e682fc3b9e5a4bcfd5b9a52553085 ", "master_replid2:0000000000000000000000000000000000000000 ", @@ -402,17 +402,17 @@ exports[`info should return enough info to be useful 1`] = ` ", "# CPU ", - "used_cpu_sys:0.466599 + "used_cpu_sys:0.393100 ", - "used_cpu_user:0.262291 + "used_cpu_user:0.346872 ", "used_cpu_sys_children:0.000000 ", - "used_cpu_user_children:0.005782 + "used_cpu_user_children:0.005618 ", - "used_cpu_sys_main_thread:0.467994 + "used_cpu_sys_main_thread:0.394016 ", - "used_cpu_user_main_thread:0.258484 + "used_cpu_user_main_thread:0.343687 ", " ", @@ -443,27 +443,27 @@ exports[`info should return enough info to be useful 1`] = ` `; exports[`info should return the Redis version number used during end-to-end testing 1`] = ` -"redis_version:7.2.1 +"redis_version:7.2.3 " `; -exports[`infoBuffer should return default info with CRLF 1`] = `"redis_version:7.2.1"`; +exports[`infoBuffer should return default info with CRLF 1`] = `"redis_version:7.2.3"`; exports[`infoBuffer should return enough info to be useful 1`] = ` [ "# Server ", - "redis_version:7.2.1 + "redis_version:7.2.3 ", "redis_git_sha1:00000000 ", "redis_git_dirty:0 ", - "redis_build_id:9392225f50acfb06 + "redis_build_id:9b0796a828280810 ", "redis_mode:standalone ", - "os:Linux 6.2.0-1012-azure x86_64 + "os:Linux 6.2.0-1015-azure x86_64 ", "arch_bits:64 ", @@ -479,13 +479,13 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "process_supervised:no ", - "run_id:a37911f9ac708936c9a02522cb2e6601a3392832 + "run_id:a3e770afd22d781dd24383571d2762acc6e3f715 ", "tcp_port:6379 ", - "server_time_usec:1695986882280660 + "server_time_usec:1699070763571268 ", - "uptime_in_seconds:82 + "uptime_in_seconds:102 ", "uptime_in_days:0 ", @@ -493,7 +493,7 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "configured_hz:10 ", - "lru_clock:1488066 + "lru_clock:4571947 ", "executable:/tmp/redis-server ", @@ -513,7 +513,7 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "maxclients:10000 ", - "client_recent_max_input_buffer:20480 + "client_recent_max_input_buffer:8 ", "client_recent_max_output_buffer:0 ", @@ -531,35 +531,35 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "# Memory ", - "used_memory:4095272 + "used_memory:4094664 ", - "used_memory_human:3.91M + "used_memory_human:3.90M ", - "used_memory_rss:15638528 + "used_memory_rss:16486400 ", - "used_memory_rss_human:14.91M + "used_memory_rss_human:15.72M ", - "used_memory_peak:4185896 + "used_memory_peak:4185288 ", "used_memory_peak_human:3.99M ", - "used_memory_peak_perc:97.84% + "used_memory_peak_perc:97.83% ", - "used_memory_overhead:868104 + "used_memory_overhead:868136 ", - "used_memory_startup:865744 + "used_memory_startup:865776 ", - "used_memory_dataset:3227168 + "used_memory_dataset:3226528 ", "used_memory_dataset_perc:99.93% ", - "allocator_allocated:4244280 + "allocator_allocated:4243256 ", "allocator_active:4558848 ", "allocator_resident:7241728 ", - "total_system_memory:7258234880 + "total_system_memory:7258214400 ", "total_system_memory_human:6.76G ", @@ -597,19 +597,19 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "allocator_frag_ratio:1.07 ", - "allocator_frag_bytes:314568 + "allocator_frag_bytes:315592 ", "allocator_rss_ratio:1.59 ", "allocator_rss_bytes:2682880 ", - "rss_overhead_ratio:2.16 + "rss_overhead_ratio:2.28 ", - "rss_overhead_bytes:8396800 + "rss_overhead_bytes:9244672 ", - "mem_fragmentation_ratio:3.86 + "mem_fragmentation_ratio:4.07 ", - "mem_fragmentation_bytes:11583264 + "mem_fragmentation_bytes:12431744 ", "mem_not_counted_for_evict:0 ", @@ -657,7 +657,7 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "rdb_bgsave_in_progress:0 ", - "rdb_last_save_time:1695986882 + "rdb_last_save_time:1699070763 ", "rdb_last_bgsave_status:ok ", @@ -667,7 +667,7 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "rdb_saves:3 ", - "rdb_last_cow_size:253952 + "rdb_last_cow_size:286720 ", "rdb_last_load_keys_expired:0 ", @@ -691,7 +691,7 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "aof_last_write_status:ok ", - "aof_last_cow_size:249856 + "aof_last_cow_size:237568 ", "module_fork_in_progress:0 ", @@ -705,19 +705,19 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "total_commands_processed:2827 ", - "instantaneous_ops_per_sec:35 + "instantaneous_ops_per_sec:20 ", "total_net_input_bytes:75447 ", - "total_net_output_bytes:5153513 + "total_net_output_bytes:5152496 ", "total_net_repl_input_bytes:0 ", "total_net_repl_output_bytes:0 ", - "instantaneous_input_kbps:0.67 + "instantaneous_input_kbps:0.34 ", - "instantaneous_output_kbps:81.83 + "instantaneous_output_kbps:55.59 ", "instantaneous_input_repl_kbps:0.00 ", @@ -733,7 +733,7 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "expired_keys:16 ", - "expired_stale_perc:0.90 + "expired_stale_perc:0.29 ", "expired_time_cap_reached_count:0 ", @@ -757,7 +757,7 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "pubsubshard_channels:0 ", - "latest_fork_usec:341 + "latest_fork_usec:337 ", "total_forks:2 ", @@ -789,9 +789,9 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "dump_payload_sanitizations:0 ", - "total_reads_processed:3769 + "total_reads_processed:3776 ", - "total_writes_processed:2818 + "total_writes_processed:2825 ", "io_threaded_reads_processed:0 ", @@ -801,15 +801,15 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "reply_buffer_expands:0 ", - "eventloop_cycles:5086 + "eventloop_cycles:5163 ", - "eventloop_duration_sum:1498635 + "eventloop_duration_sum:1195155 ", - "eventloop_duration_cmd_sum:1276574 + "eventloop_duration_cmd_sum:968413 ", - "instantaneous_eventloop_cycles_per_sec:79 + "instantaneous_eventloop_cycles_per_sec:55 ", - "instantaneous_eventloop_duration_usec:235 + "instantaneous_eventloop_duration_usec:192 ", "acl_access_denied_auth:0 ", @@ -829,7 +829,7 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "master_failover_state:no-failover ", - "master_replid:0040a964f8ee315dc46e1ea0722b0c9dd22e994c + "master_replid:763311b5220e682fc3b9e5a4bcfd5b9a52553085 ", "master_replid2:0000000000000000000000000000000000000000 ", @@ -849,17 +849,17 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` ", "# CPU ", - "used_cpu_sys:0.466599 + "used_cpu_sys:0.393100 ", - "used_cpu_user:0.262291 + "used_cpu_user:0.346872 ", "used_cpu_sys_children:0.000000 ", - "used_cpu_user_children:0.005782 + "used_cpu_user_children:0.005618 ", - "used_cpu_sys_main_thread:0.467994 + "used_cpu_sys_main_thread:0.394016 ", - "used_cpu_user_main_thread:0.258484 + "used_cpu_user_main_thread:0.343687 ", " ", @@ -890,6 +890,6 @@ exports[`infoBuffer should return enough info to be useful 1`] = ` `; exports[`infoBuffer should return the Redis version number used during end-to-end testing 1`] = ` -"redis_version:7.2.1 +"redis_version:7.2.3 " `; diff --git a/test/integration/commands/__snapshots__/lolwut.js.snap b/test/integration/commands/__snapshots__/lolwut.js.snap index dc078465..d3a3d42a 100644 --- a/test/integration/commands/__snapshots__/lolwut.js.snap +++ b/test/integration/commands/__snapshots__/lolwut.js.snap @@ -1,8 +1,8 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`lolwut should return Redis version by default 1`] = ` -"Redis ver. 7.2.1 +"Redis ver. 7.2.3 " `; -exports[`lolwutBuffer should return Redis version by default 1`] = `Buffer<52 65 64 69 73 20 76 65 72 2e 20 37 2e 32 2e 31 0a>`; +exports[`lolwutBuffer should return Redis version by default 1`] = `Buffer<52 65 64 69 73 20 76 65 72 2e 20 37 2e 32 2e 33 0a>`;