
Command compatibility
=====================

This document is generated by parsing the `official redis command documentation <https://redis.io/commands>`_

.. currentmodule:: coredis




Generic
^^^^^^^



COPY
****

Copies the value of a key to a new key.

- Documentation: `COPY <https://redis.io/commands/copy>`_
- Implementation: :meth:`~coredis.Redis.copy`

- New in redis: 6.2.0



- .. versionadded:: 3.0.0





DEL
***

Deletes one or more keys.

- Documentation: `DEL <https://redis.io/commands/del>`_
- Implementation: :meth:`~coredis.Redis.delete`







DUMP
****

Returns a serialized representation of the value stored at a key.

- Documentation: `DUMP <https://redis.io/commands/dump>`_
- Implementation: :meth:`~coredis.Redis.dump`







EXISTS
******

Determines whether one or more keys exist.

- Documentation: `EXISTS <https://redis.io/commands/exists>`_
- Implementation: :meth:`~coredis.Redis.exists`







EXPIRE
******

Sets the expiration time of a key in seconds.

- Documentation: `EXPIRE <https://redis.io/commands/expire>`_
- Implementation: :meth:`~coredis.Redis.expire`







EXPIREAT
********

Sets the expiration time of a key to a Unix timestamp.

- Documentation: `EXPIREAT <https://redis.io/commands/expireat>`_
- Implementation: :meth:`~coredis.Redis.expireat`







EXPIRETIME
**********

Returns the expiration time of a key as a Unix timestamp.

- Documentation: `EXPIRETIME <https://redis.io/commands/expiretime>`_
- Implementation: :meth:`~coredis.Redis.expiretime`

- New in redis: 7.0.0



- .. versionadded:: 3.0.0





KEYS
****

Returns all key names that match a pattern.

- Documentation: `KEYS <https://redis.io/commands/keys>`_
- Implementation: :meth:`~coredis.Redis.keys`







MIGRATE
*******

Atomically transfers a key from one Redis instance to another.

- Documentation: `MIGRATE <https://redis.io/commands/migrate>`_
- Implementation: :meth:`~coredis.Redis.migrate`



- .. versionadded:: 3.0.0





MOVE
****

Moves a key to another database.

- Documentation: `MOVE <https://redis.io/commands/move>`_
- Implementation: :meth:`~coredis.Redis.move`







OBJECT ENCODING
***************

Returns the internal encoding of a Redis object.

- Documentation: `OBJECT ENCODING <https://redis.io/commands/object-encoding>`_
- Implementation: :meth:`~coredis.Redis.object_encoding`







OBJECT FREQ
***********

Returns the logarithmic access frequency counter of a Redis object.

- Documentation: `OBJECT FREQ <https://redis.io/commands/object-freq>`_
- Implementation: :meth:`~coredis.Redis.object_freq`







OBJECT IDLETIME
***************

Returns the time since the last access to a Redis object.

- Documentation: `OBJECT IDLETIME <https://redis.io/commands/object-idletime>`_
- Implementation: :meth:`~coredis.Redis.object_idletime`







OBJECT REFCOUNT
***************

Returns the reference count of a value of a key.

- Documentation: `OBJECT REFCOUNT <https://redis.io/commands/object-refcount>`_
- Implementation: :meth:`~coredis.Redis.object_refcount`







PERSIST
*******

Removes the expiration time of a key.

- Documentation: `PERSIST <https://redis.io/commands/persist>`_
- Implementation: :meth:`~coredis.Redis.persist`







PEXPIRE
*******

Sets the expiration time of a key in milliseconds.

- Documentation: `PEXPIRE <https://redis.io/commands/pexpire>`_
- Implementation: :meth:`~coredis.Redis.pexpire`







PEXPIREAT
*********

Sets the expiration time of a key to a Unix milliseconds timestamp.

- Documentation: `PEXPIREAT <https://redis.io/commands/pexpireat>`_
- Implementation: :meth:`~coredis.Redis.pexpireat`







PEXPIRETIME
***********

Returns the expiration time of a key as a Unix milliseconds timestamp.

- Documentation: `PEXPIRETIME <https://redis.io/commands/pexpiretime>`_
- Implementation: :meth:`~coredis.Redis.pexpiretime`

- New in redis: 7.0.0



- .. versionadded:: 3.0.0





PTTL
****

Returns the expiration time in milliseconds of a key.

- Documentation: `PTTL <https://redis.io/commands/pttl>`_
- Implementation: :meth:`~coredis.Redis.pttl`







RANDOMKEY
*********

Returns a random key name from the database.

- Documentation: `RANDOMKEY <https://redis.io/commands/randomkey>`_
- Implementation: :meth:`~coredis.Redis.randomkey`







RENAME
******

Renames a key and overwrites the destination.

- Documentation: `RENAME <https://redis.io/commands/rename>`_
- Implementation: :meth:`~coredis.Redis.rename`







RENAMENX
********

Renames a key only when the target key name doesn't exist.

- Documentation: `RENAMENX <https://redis.io/commands/renamenx>`_
- Implementation: :meth:`~coredis.Redis.renamenx`







RESTORE
*******

Creates a key from the serialized representation of a value.

- Documentation: `RESTORE <https://redis.io/commands/restore>`_
- Implementation: :meth:`~coredis.Redis.restore`







SCAN
****

Iterates over the key names in the database.

- Documentation: `SCAN <https://redis.io/commands/scan>`_
- Implementation: :meth:`~coredis.Redis.scan`







SORT
****

Sorts the elements in a list, a set, or a sorted set, optionally storing the result.

- Documentation: `SORT <https://redis.io/commands/sort>`_
- Implementation: :meth:`~coredis.Redis.sort`







SORT_RO
*******

Returns the sorted elements of a list, a set, or a sorted set.

- Documentation: `SORT_RO <https://redis.io/commands/sort_ro>`_
- Implementation: :meth:`~coredis.Redis.sort_ro`

- New in redis: 7.0.0



- .. versionadded:: 3.0.0





TOUCH
*****

Returns the number of existing keys out of those specified after updating the time they were last accessed.

- Documentation: `TOUCH <https://redis.io/commands/touch>`_
- Implementation: :meth:`~coredis.Redis.touch`







TTL
***

Returns the expiration time in seconds of a key.

- Documentation: `TTL <https://redis.io/commands/ttl>`_
- Implementation: :meth:`~coredis.Redis.ttl`







TYPE
****

Determines the type of value stored at a key.

- Documentation: `TYPE <https://redis.io/commands/type>`_
- Implementation: :meth:`~coredis.Redis.type`







UNLINK
******

Asynchronously deletes one or more keys.

- Documentation: `UNLINK <https://redis.io/commands/unlink>`_
- Implementation: :meth:`~coredis.Redis.unlink`







WAIT
****

Blocks until the asynchronous replication of all preceding write commands sent by the connection is completed.

- Documentation: `WAIT <https://redis.io/commands/wait>`_
- Implementation: :meth:`~coredis.Redis.wait`

  .. warning:: Using :meth:`~coredis.Redis.wait` directly is not recommended. Use the :meth:`Redis.ensure_replication`  or :meth:`RedisCluster.ensure_replication` context managers to ensure a command is replicated to the number of replicas







WAITAOF
*******

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.

- Documentation: `WAITAOF <https://redis.io/commands/waitaof>`_
- Implementation: :meth:`~coredis.Redis.waitaof`

  .. warning:: Using :meth:`~coredis.Redis.waitaof` directly is not recommended. Use the :meth:`Redis.ensure_persistence`  or :meth:`RedisCluster.ensure_persistence` context managers to ensure a command is synced to the AOF of the number of local hosts or replicas

- New in redis: 7.2.0



- .. versionadded:: 4.12.0








String
^^^^^^



APPEND
******

Appends a string to the value of a key. Creates the key if it doesn't exist.

- Documentation: `APPEND <https://redis.io/commands/append>`_
- Implementation: :meth:`~coredis.Redis.append`







DECR
****

Decrements the integer value of a key by one. Uses 0 as initial value if the key doesn't exist.

- Documentation: `DECR <https://redis.io/commands/decr>`_
- Implementation: :meth:`~coredis.Redis.decr`







DECRBY
******

Decrements a number from the integer value of a key. Uses 0 as initial value if the key doesn't exist.

- Documentation: `DECRBY <https://redis.io/commands/decrby>`_
- Implementation: :meth:`~coredis.Redis.decrby`







GET
***

Returns the string value of a key.

- Documentation: `GET <https://redis.io/commands/get>`_
- Implementation: :meth:`~coredis.Redis.get`





- Supports client caching: yes



GETDEL
******

Returns the string value of a key after deleting the key.

- Documentation: `GETDEL <https://redis.io/commands/getdel>`_
- Implementation: :meth:`~coredis.Redis.getdel`

- New in redis: 6.2.0







GETEX
*****

Returns the string value of a key after setting its expiration time.

- Documentation: `GETEX <https://redis.io/commands/getex>`_
- Implementation: :meth:`~coredis.Redis.getex`

- New in redis: 6.2.0







GETRANGE
********

Returns a substring of the string stored at a key.

- Documentation: `GETRANGE <https://redis.io/commands/getrange>`_
- Implementation: :meth:`~coredis.Redis.getrange`





- Supports client caching: yes



GETSET
******

Returns the previous string value of a key after setting it to a new value.

- Documentation: `GETSET <https://redis.io/commands/getset>`_
- Implementation: :meth:`~coredis.Redis.getset`


- Deprecated in redis: 6.2.0. Use :meth:`~coredis.Redis.set` with the ``_get`` argument






INCR
****

Increments the integer value of a key by one. Uses 0 as initial value if the key doesn't exist.

- Documentation: `INCR <https://redis.io/commands/incr>`_
- Implementation: :meth:`~coredis.Redis.incr`







INCRBY
******

Increments the integer value of a key by a number. Uses 0 as initial value if the key doesn't exist.

- Documentation: `INCRBY <https://redis.io/commands/incrby>`_
- Implementation: :meth:`~coredis.Redis.incrby`







INCRBYFLOAT
***********

Increment the floating point value of a key by a number. Uses 0 as initial value if the key doesn't exist.

- Documentation: `INCRBYFLOAT <https://redis.io/commands/incrbyfloat>`_
- Implementation: :meth:`~coredis.Redis.incrbyfloat`







LCS
***

Finds the longest common substring.

- Documentation: `LCS <https://redis.io/commands/lcs>`_
- Implementation: :meth:`~coredis.Redis.lcs`

- New in redis: 7.0.0



- .. versionadded:: 3.0.0





MGET
****

Atomically returns the string values of one or more keys.

- Documentation: `MGET <https://redis.io/commands/mget>`_
- Implementation: :meth:`~coredis.Redis.mget`







MSET
****

Atomically creates or modifies the string values of one or more keys.

- Documentation: `MSET <https://redis.io/commands/mset>`_
- Implementation: :meth:`~coredis.Redis.mset`







MSETNX
******

Atomically modifies the string values of one or more keys only when all keys don't exist.

- Documentation: `MSETNX <https://redis.io/commands/msetnx>`_
- Implementation: :meth:`~coredis.Redis.msetnx`







PSETEX
******

Sets both string value and expiration time in milliseconds of a key. The key is created if it doesn't exist.

- Documentation: `PSETEX <https://redis.io/commands/psetex>`_
- Implementation: :meth:`~coredis.Redis.psetex`


- Deprecated in redis: 2.6.12. Use :meth:`~coredis.Redis.set` with the ``px`` argument






SET
***

Sets the string value of a key, ignoring its type. The key is created if it doesn't exist.

- Documentation: `SET <https://redis.io/commands/set>`_
- Implementation: :meth:`~coredis.Redis.set`







SETEX
*****

Sets the string value and expiration time of a key. Creates the key if it doesn't exist.

- Documentation: `SETEX <https://redis.io/commands/setex>`_
- Implementation: :meth:`~coredis.Redis.setex`


- Deprecated in redis: 2.6.12. Use :meth:`~coredis.Redis.set` with the ``ex`` argument






SETNX
*****

Set the string value of a key only when the key doesn't exist.

- Documentation: `SETNX <https://redis.io/commands/setnx>`_
- Implementation: :meth:`~coredis.Redis.setnx`


- Deprecated in redis: 2.6.12. Use :meth:`~coredis.Redis.set` with the ``nx`` argument






SETRANGE
********

Overwrites a part of a string value with another by an offset. Creates the key if it doesn't exist.

- Documentation: `SETRANGE <https://redis.io/commands/setrange>`_
- Implementation: :meth:`~coredis.Redis.setrange`







STRLEN
******

Returns the length of a string value.

- Documentation: `STRLEN <https://redis.io/commands/strlen>`_
- Implementation: :meth:`~coredis.Redis.strlen`





- Supports client caching: yes



SUBSTR
******

Returns a substring from a string value.

- Documentation: `SUBSTR <https://redis.io/commands/substr>`_
- Implementation: :meth:`~coredis.Redis.substr`


- Deprecated in redis: 2.0.0. Use :meth:`~coredis.Redis.getrange`




- Supports client caching: yes






Bitmap
^^^^^^



BITCOUNT
********

Counts the number of set bits (population counting) in a string.

- Documentation: `BITCOUNT <https://redis.io/commands/bitcount>`_
- Implementation: :meth:`~coredis.Redis.bitcount`







BITFIELD
********

Performs arbitrary bitfield integer operations on strings.

- Documentation: `BITFIELD <https://redis.io/commands/bitfield>`_
- Implementation: :meth:`~coredis.Redis.bitfield`







BITFIELD_RO
***********

Performs arbitrary read-only bitfield integer operations on strings.

- Documentation: `BITFIELD_RO <https://redis.io/commands/bitfield_ro>`_
- Implementation: :meth:`~coredis.Redis.bitfield_ro`

- New in redis: 6.0.0







BITOP
*****

Performs bitwise operations on multiple strings, and stores the result.

- Documentation: `BITOP <https://redis.io/commands/bitop>`_
- Implementation: :meth:`~coredis.Redis.bitop`







BITPOS
******

Finds the first set (1) or clear (0) bit in a string.

- Documentation: `BITPOS <https://redis.io/commands/bitpos>`_
- Implementation: :meth:`~coredis.Redis.bitpos`







GETBIT
******

Returns a bit value by offset.

- Documentation: `GETBIT <https://redis.io/commands/getbit>`_
- Implementation: :meth:`~coredis.Redis.getbit`







SETBIT
******

Sets or clears the bit at offset of the string value. Creates the key if it doesn't exist.

- Documentation: `SETBIT <https://redis.io/commands/setbit>`_
- Implementation: :meth:`~coredis.Redis.setbit`










Hash
^^^^



HDEL
****

Deletes one or more fields and their values from a hash. Deletes the hash if no fields remain.

- Documentation: `HDEL <https://redis.io/commands/hdel>`_
- Implementation: :meth:`~coredis.Redis.hdel`







HEXISTS
*******

Determines whether a field exists in a hash.

- Documentation: `HEXISTS <https://redis.io/commands/hexists>`_
- Implementation: :meth:`~coredis.Redis.hexists`





- Supports client caching: yes



HEXPIRE
*******

Set expiry for hash field using relative time to expire (seconds)

- Documentation: `HEXPIRE <https://redis.io/commands/hexpire>`_
- Implementation: :meth:`~coredis.Redis.hexpire`

- New in redis: 7.4.0



- .. versionadded:: 4.18.0





HEXPIREAT
*********

Set expiry for hash field using an absolute Unix timestamp (seconds)

- Documentation: `HEXPIREAT <https://redis.io/commands/hexpireat>`_
- Implementation: :meth:`~coredis.Redis.hexpireat`

- New in redis: 7.4.0



- .. versionadded:: 4.18.0





HEXPIRETIME
***********

Returns the expiration time of a hash field as a Unix timestamp, in seconds.

- Documentation: `HEXPIRETIME <https://redis.io/commands/hexpiretime>`_
- Implementation: :meth:`~coredis.Redis.hexpiretime`

- New in redis: 7.4.0



- .. versionadded:: 4.18.0





HGET
****

Returns the value of a field in a hash.

- Documentation: `HGET <https://redis.io/commands/hget>`_
- Implementation: :meth:`~coredis.Redis.hget`





- Supports client caching: yes



HGETALL
*******

Returns all fields and values in a hash.

- Documentation: `HGETALL <https://redis.io/commands/hgetall>`_
- Implementation: :meth:`~coredis.Redis.hgetall`





- Supports client caching: yes



HGETDEL
*******

Returns the value of a field and deletes it from the hash.

- Documentation: `HGETDEL <https://redis.io/commands/hgetdel>`_
- Implementation: :meth:`~coredis.Redis.hgetdel`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





HGETEX
******

Get the value of one or more fields of a given hash key, and optionally set their expiration.

- Documentation: `HGETEX <https://redis.io/commands/hgetex>`_
- Implementation: :meth:`~coredis.Redis.hgetex`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





HINCRBY
*******

Increments the integer value of a field in a hash by a number. Uses 0 as initial value if the field doesn't exist.

- Documentation: `HINCRBY <https://redis.io/commands/hincrby>`_
- Implementation: :meth:`~coredis.Redis.hincrby`







HINCRBYFLOAT
************

Increments the floating point value of a field by a number. Uses 0 as initial value if the field doesn't exist.

- Documentation: `HINCRBYFLOAT <https://redis.io/commands/hincrbyfloat>`_
- Implementation: :meth:`~coredis.Redis.hincrbyfloat`







HKEYS
*****

Returns all fields in a hash.

- Documentation: `HKEYS <https://redis.io/commands/hkeys>`_
- Implementation: :meth:`~coredis.Redis.hkeys`





- Supports client caching: yes



HLEN
****

Returns the number of fields in a hash.

- Documentation: `HLEN <https://redis.io/commands/hlen>`_
- Implementation: :meth:`~coredis.Redis.hlen`





- Supports client caching: yes



HMGET
*****

Returns the values of all fields in a hash.

- Documentation: `HMGET <https://redis.io/commands/hmget>`_
- Implementation: :meth:`~coredis.Redis.hmget`





- Supports client caching: yes



HMSET
*****

Sets the values of multiple fields.

- Documentation: `HMSET <https://redis.io/commands/hmset>`_
- Implementation: :meth:`~coredis.Redis.hmset`


- Deprecated in redis: 4.0.0. Use :meth:`~coredis.Redis.hset` with multiple field-value pairs






HPERSIST
********

Removes the expiration time for each specified field

- Documentation: `HPERSIST <https://redis.io/commands/hpersist>`_
- Implementation: :meth:`~coredis.Redis.hpersist`

- New in redis: 7.4.0



- .. versionadded:: 4.18.0





HPEXPIRE
********

Set expiry for hash field using relative time to expire (milliseconds)

- Documentation: `HPEXPIRE <https://redis.io/commands/hpexpire>`_
- Implementation: :meth:`~coredis.Redis.hpexpire`

- New in redis: 7.4.0



- .. versionadded:: 4.18.0





HPEXPIREAT
**********

Set expiry for hash field using an absolute Unix timestamp (milliseconds)

- Documentation: `HPEXPIREAT <https://redis.io/commands/hpexpireat>`_
- Implementation: :meth:`~coredis.Redis.hpexpireat`

- New in redis: 7.4.0



- .. versionadded:: 4.18.0





HPEXPIRETIME
************

Returns the expiration time of a hash field as a Unix timestamp, in msec.

- Documentation: `HPEXPIRETIME <https://redis.io/commands/hpexpiretime>`_
- Implementation: :meth:`~coredis.Redis.hpexpiretime`

- New in redis: 7.4.0



- .. versionadded:: 4.18.0





HPTTL
*****

Returns the TTL in milliseconds of a hash field.

- Documentation: `HPTTL <https://redis.io/commands/hpttl>`_
- Implementation: :meth:`~coredis.Redis.hpttl`

- New in redis: 7.4.0



- .. versionadded:: 4.18.0





HRANDFIELD
**********

Returns one or more random fields from a hash.

- Documentation: `HRANDFIELD <https://redis.io/commands/hrandfield>`_
- Implementation: :meth:`~coredis.Redis.hrandfield`

- New in redis: 6.2.0







HSCAN
*****

Iterates over fields and values of a hash.

- Documentation: `HSCAN <https://redis.io/commands/hscan>`_
- Implementation: :meth:`~coredis.Redis.hscan`







HSET
****

Creates or modifies the value of a field in a hash.

- Documentation: `HSET <https://redis.io/commands/hset>`_
- Implementation: :meth:`~coredis.Redis.hset`







HSETEX
******

Set the value of one or more fields of a given hash key, and optionally set their expiration.

- Documentation: `HSETEX <https://redis.io/commands/hsetex>`_
- Implementation: :meth:`~coredis.Redis.hsetex`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





HSETNX
******

Sets the value of a field in a hash only when the field doesn't exist.

- Documentation: `HSETNX <https://redis.io/commands/hsetnx>`_
- Implementation: :meth:`~coredis.Redis.hsetnx`







HSTRLEN
*******

Returns the length of the value of a field.

- Documentation: `HSTRLEN <https://redis.io/commands/hstrlen>`_
- Implementation: :meth:`~coredis.Redis.hstrlen`





- Supports client caching: yes



HTTL
****

Returns the TTL in seconds of a hash field.

- Documentation: `HTTL <https://redis.io/commands/httl>`_
- Implementation: :meth:`~coredis.Redis.httl`

- New in redis: 7.4.0



- .. versionadded:: 4.18.0





HVALS
*****

Returns all values in a hash.

- Documentation: `HVALS <https://redis.io/commands/hvals>`_
- Implementation: :meth:`~coredis.Redis.hvals`





- Supports client caching: yes






List
^^^^



BLMOVE
******

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.

- Documentation: `BLMOVE <https://redis.io/commands/blmove>`_
- Implementation: :meth:`~coredis.Redis.blmove`

- New in redis: 6.2.0







BLMPOP
******

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.

- Documentation: `BLMPOP <https://redis.io/commands/blmpop>`_
- Implementation: :meth:`~coredis.Redis.blmpop`

- New in redis: 7.0.0



- .. versionadded:: 3.0.0





BLPOP
*****

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.

- Documentation: `BLPOP <https://redis.io/commands/blpop>`_
- Implementation: :meth:`~coredis.Redis.blpop`







BRPOP
*****

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.

- Documentation: `BRPOP <https://redis.io/commands/brpop>`_
- Implementation: :meth:`~coredis.Redis.brpop`







BRPOPLPUSH
**********

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.

- Documentation: `BRPOPLPUSH <https://redis.io/commands/brpoplpush>`_
- Implementation: :meth:`~coredis.Redis.brpoplpush`


- Deprecated in redis: 6.2.0. Use :meth:`~coredis.Redis.blmove` with the ``right`` and ``left`` arguments






LINDEX
******

Returns an element from a list by its index.

- Documentation: `LINDEX <https://redis.io/commands/lindex>`_
- Implementation: :meth:`~coredis.Redis.lindex`





- Supports client caching: yes



LINSERT
*******

Inserts an element before or after another element in a list.

- Documentation: `LINSERT <https://redis.io/commands/linsert>`_
- Implementation: :meth:`~coredis.Redis.linsert`







LLEN
****

Returns the length of a list.

- Documentation: `LLEN <https://redis.io/commands/llen>`_
- Implementation: :meth:`~coredis.Redis.llen`





- Supports client caching: yes



LMOVE
*****

Returns an element after popping it from one list and pushing it to another. Deletes the list if the last element was moved.

- Documentation: `LMOVE <https://redis.io/commands/lmove>`_
- Implementation: :meth:`~coredis.Redis.lmove`

- New in redis: 6.2.0







LMPOP
*****

Returns multiple elements from a list after removing them. Deletes the list if the last element was popped.

- Documentation: `LMPOP <https://redis.io/commands/lmpop>`_
- Implementation: :meth:`~coredis.Redis.lmpop`

- New in redis: 7.0.0



- .. versionadded:: 3.0.0





LPOP
****

Returns the first elements in a list after removing it. Deletes the list if the last element was popped.

- Documentation: `LPOP <https://redis.io/commands/lpop>`_
- Implementation: :meth:`~coredis.Redis.lpop`







LPOS
****

Returns the index of matching elements in a list.

- Documentation: `LPOS <https://redis.io/commands/lpos>`_
- Implementation: :meth:`~coredis.Redis.lpos`

- New in redis: 6.0.6





- Supports client caching: yes



LPUSH
*****

Prepends one or more elements to a list. Creates the key if it doesn't exist.

- Documentation: `LPUSH <https://redis.io/commands/lpush>`_
- Implementation: :meth:`~coredis.Redis.lpush`







LPUSHX
******

Prepends one or more elements to a list only when the list exists.

- Documentation: `LPUSHX <https://redis.io/commands/lpushx>`_
- Implementation: :meth:`~coredis.Redis.lpushx`







LRANGE
******

Returns a range of elements from a list.

- Documentation: `LRANGE <https://redis.io/commands/lrange>`_
- Implementation: :meth:`~coredis.Redis.lrange`





- Supports client caching: yes



LREM
****

Removes elements from a list. Deletes the list if the last element was removed.

- Documentation: `LREM <https://redis.io/commands/lrem>`_
- Implementation: :meth:`~coredis.Redis.lrem`







LSET
****

Sets the value of an element in a list by its index.

- Documentation: `LSET <https://redis.io/commands/lset>`_
- Implementation: :meth:`~coredis.Redis.lset`







LTRIM
*****

Removes elements from both ends a list. Deletes the list if all elements were trimmed.

- Documentation: `LTRIM <https://redis.io/commands/ltrim>`_
- Implementation: :meth:`~coredis.Redis.ltrim`







RPOP
****

Returns and removes the last elements of a list. Deletes the list if the last element was popped.

- Documentation: `RPOP <https://redis.io/commands/rpop>`_
- Implementation: :meth:`~coredis.Redis.rpop`







RPOPLPUSH
*********

Returns the last element of a list after removing and pushing it to another list. Deletes the list if the last element was popped.

- Documentation: `RPOPLPUSH <https://redis.io/commands/rpoplpush>`_
- Implementation: :meth:`~coredis.Redis.rpoplpush`


- Deprecated in redis: 6.2.0. Use :meth:`~coredis.Redis.lmove` with the ``right`` and ``left`` arguments






RPUSH
*****

Appends one or more elements to a list. Creates the key if it doesn't exist.

- Documentation: `RPUSH <https://redis.io/commands/rpush>`_
- Implementation: :meth:`~coredis.Redis.rpush`







RPUSHX
******

Appends an element to a list only when the list exists.

- Documentation: `RPUSHX <https://redis.io/commands/rpushx>`_
- Implementation: :meth:`~coredis.Redis.rpushx`










Set
^^^



SADD
****

Adds one or more members to a set. Creates the key if it doesn't exist.

- Documentation: `SADD <https://redis.io/commands/sadd>`_
- Implementation: :meth:`~coredis.Redis.sadd`







SCARD
*****

Returns the number of members in a set.

- Documentation: `SCARD <https://redis.io/commands/scard>`_
- Implementation: :meth:`~coredis.Redis.scard`





- Supports client caching: yes



SDIFF
*****

Returns the difference of multiple sets.

- Documentation: `SDIFF <https://redis.io/commands/sdiff>`_
- Implementation: :meth:`~coredis.Redis.sdiff`







SDIFFSTORE
**********

Stores the difference of multiple sets in a key.

- Documentation: `SDIFFSTORE <https://redis.io/commands/sdiffstore>`_
- Implementation: :meth:`~coredis.Redis.sdiffstore`







SINTER
******

Returns the intersect of multiple sets.

- Documentation: `SINTER <https://redis.io/commands/sinter>`_
- Implementation: :meth:`~coredis.Redis.sinter`







SINTERCARD
**********

Returns the number of members of the intersect of multiple sets.

- Documentation: `SINTERCARD <https://redis.io/commands/sintercard>`_
- Implementation: :meth:`~coredis.Redis.sintercard`

- New in redis: 7.0.0



- .. versionadded:: 3.0.0





SINTERSTORE
***********

Stores the intersect of multiple sets in a key.

- Documentation: `SINTERSTORE <https://redis.io/commands/sinterstore>`_
- Implementation: :meth:`~coredis.Redis.sinterstore`







SISMEMBER
*********

Determines whether a member belongs to a set.

- Documentation: `SISMEMBER <https://redis.io/commands/sismember>`_
- Implementation: :meth:`~coredis.Redis.sismember`





- Supports client caching: yes



SMEMBERS
********

Returns all members of a set.

- Documentation: `SMEMBERS <https://redis.io/commands/smembers>`_
- Implementation: :meth:`~coredis.Redis.smembers`





- Supports client caching: yes



SMISMEMBER
**********

Determines whether multiple members belong to a set.

- Documentation: `SMISMEMBER <https://redis.io/commands/smismember>`_
- Implementation: :meth:`~coredis.Redis.smismember`

- New in redis: 6.2.0





- Supports client caching: yes



SMOVE
*****

Moves a member from one set to another.

- Documentation: `SMOVE <https://redis.io/commands/smove>`_
- Implementation: :meth:`~coredis.Redis.smove`







SPOP
****

Returns one or more random members from a set after removing them. Deletes the set if the last member was popped.

- Documentation: `SPOP <https://redis.io/commands/spop>`_
- Implementation: :meth:`~coredis.Redis.spop`







SRANDMEMBER
***********

Get one or multiple random members from a set

- Documentation: `SRANDMEMBER <https://redis.io/commands/srandmember>`_
- Implementation: :meth:`~coredis.Redis.srandmember`







SREM
****

Removes one or more members from a set. Deletes the set if the last member was removed.

- Documentation: `SREM <https://redis.io/commands/srem>`_
- Implementation: :meth:`~coredis.Redis.srem`







SSCAN
*****

Iterates over members of a set.

- Documentation: `SSCAN <https://redis.io/commands/sscan>`_
- Implementation: :meth:`~coredis.Redis.sscan`







SUNION
******

Returns the union of multiple sets.

- Documentation: `SUNION <https://redis.io/commands/sunion>`_
- Implementation: :meth:`~coredis.Redis.sunion`







SUNIONSTORE
***********

Stores the union of multiple sets in a key.

- Documentation: `SUNIONSTORE <https://redis.io/commands/sunionstore>`_
- Implementation: :meth:`~coredis.Redis.sunionstore`










Sorted-Set
^^^^^^^^^^



BZMPOP
******

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.

- Documentation: `BZMPOP <https://redis.io/commands/bzmpop>`_
- Implementation: :meth:`~coredis.Redis.bzmpop`

- New in redis: 7.0.0



- .. versionadded:: 3.0.0





BZPOPMAX
********

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.

- Documentation: `BZPOPMAX <https://redis.io/commands/bzpopmax>`_
- Implementation: :meth:`~coredis.Redis.bzpopmax`







BZPOPMIN
********

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.

- Documentation: `BZPOPMIN <https://redis.io/commands/bzpopmin>`_
- Implementation: :meth:`~coredis.Redis.bzpopmin`







ZADD
****

Adds one or more members to a sorted set, or updates their scores. Creates the key if it doesn't exist.

- Documentation: `ZADD <https://redis.io/commands/zadd>`_
- Implementation: :meth:`~coredis.Redis.zadd`







ZCARD
*****

Returns the number of members in a sorted set.

- Documentation: `ZCARD <https://redis.io/commands/zcard>`_
- Implementation: :meth:`~coredis.Redis.zcard`







ZCOUNT
******

Returns the count of members in a sorted set that have scores within a range.

- Documentation: `ZCOUNT <https://redis.io/commands/zcount>`_
- Implementation: :meth:`~coredis.Redis.zcount`







ZDIFF
*****

Returns the difference between multiple sorted sets.

- Documentation: `ZDIFF <https://redis.io/commands/zdiff>`_
- Implementation: :meth:`~coredis.Redis.zdiff`

- New in redis: 6.2.0







ZDIFFSTORE
**********

Stores the difference of multiple sorted sets in a key.

- Documentation: `ZDIFFSTORE <https://redis.io/commands/zdiffstore>`_
- Implementation: :meth:`~coredis.Redis.zdiffstore`

- New in redis: 6.2.0







ZINCRBY
*******

Increments the score of a member in a sorted set.

- Documentation: `ZINCRBY <https://redis.io/commands/zincrby>`_
- Implementation: :meth:`~coredis.Redis.zincrby`







ZINTER
******

Returns the intersect of multiple sorted sets.

- Documentation: `ZINTER <https://redis.io/commands/zinter>`_
- Implementation: :meth:`~coredis.Redis.zinter`

- New in redis: 6.2.0







ZINTERCARD
**********

Returns the number of members of the intersect of multiple sorted sets.

- Documentation: `ZINTERCARD <https://redis.io/commands/zintercard>`_
- Implementation: :meth:`~coredis.Redis.zintercard`

- New in redis: 7.0.0



- .. versionadded:: 3.0.0





ZINTERSTORE
***********

Stores the intersect of multiple sorted sets in a key.

- Documentation: `ZINTERSTORE <https://redis.io/commands/zinterstore>`_
- Implementation: :meth:`~coredis.Redis.zinterstore`







ZLEXCOUNT
*********

Returns the number of members in a sorted set within a lexicographical range.

- Documentation: `ZLEXCOUNT <https://redis.io/commands/zlexcount>`_
- Implementation: :meth:`~coredis.Redis.zlexcount`





- Supports client caching: yes



ZMPOP
*****

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.

- Documentation: `ZMPOP <https://redis.io/commands/zmpop>`_
- Implementation: :meth:`~coredis.Redis.zmpop`

- New in redis: 7.0.0



- .. versionadded:: 3.0.0





ZMSCORE
*******

Returns the score of one or more members in a sorted set.

- Documentation: `ZMSCORE <https://redis.io/commands/zmscore>`_
- Implementation: :meth:`~coredis.Redis.zmscore`

- New in redis: 6.2.0





- Supports client caching: yes



ZPOPMAX
*******

Returns the highest-scoring members from a sorted set after removing them. Deletes the sorted set if the last member was popped.

- Documentation: `ZPOPMAX <https://redis.io/commands/zpopmax>`_
- Implementation: :meth:`~coredis.Redis.zpopmax`







ZPOPMIN
*******

Returns the lowest-scoring members from a sorted set after removing them. Deletes the sorted set if the last member was popped.

- Documentation: `ZPOPMIN <https://redis.io/commands/zpopmin>`_
- Implementation: :meth:`~coredis.Redis.zpopmin`







ZRANDMEMBER
***********

Returns one or more random members from a sorted set.

- Documentation: `ZRANDMEMBER <https://redis.io/commands/zrandmember>`_
- Implementation: :meth:`~coredis.Redis.zrandmember`

- New in redis: 6.2.0







ZRANGE
******

Returns members in a sorted set within a range of indexes.

- Documentation: `ZRANGE <https://redis.io/commands/zrange>`_
- Implementation: :meth:`~coredis.Redis.zrange`





- Supports client caching: yes



ZRANGEBYLEX
***********

Returns members in a sorted set within a lexicographical range.

- Documentation: `ZRANGEBYLEX <https://redis.io/commands/zrangebylex>`_
- Implementation: :meth:`~coredis.Redis.zrangebylex`


- Deprecated in redis: 6.2.0. Use :meth:`~coredis.Redis.zrange` with the ``bylex`` argument




- Supports client caching: yes



ZRANGEBYSCORE
*************

Returns members in a sorted set within a range of scores.

- Documentation: `ZRANGEBYSCORE <https://redis.io/commands/zrangebyscore>`_
- Implementation: :meth:`~coredis.Redis.zrangebyscore`


- Deprecated in redis: 6.2.0. Use :meth:`~coredis.Redis.zrange` with the ``byscore`` argument




- Supports client caching: yes



ZRANGESTORE
***********

Stores a range of members from sorted set in a key.

- Documentation: `ZRANGESTORE <https://redis.io/commands/zrangestore>`_
- Implementation: :meth:`~coredis.Redis.zrangestore`

- New in redis: 6.2.0







ZRANK
*****

Returns the index of a member in a sorted set ordered by ascending scores.

- Documentation: `ZRANK <https://redis.io/commands/zrank>`_
- Implementation: :meth:`~coredis.Redis.zrank`





- Supports client caching: yes



ZREM
****

Removes one or more members from a sorted set. Deletes the sorted set if all members were removed.

- Documentation: `ZREM <https://redis.io/commands/zrem>`_
- Implementation: :meth:`~coredis.Redis.zrem`







ZREMRANGEBYLEX
**************

Removes members in a sorted set within a lexicographical range. Deletes the sorted set if all members were removed.

- Documentation: `ZREMRANGEBYLEX <https://redis.io/commands/zremrangebylex>`_
- Implementation: :meth:`~coredis.Redis.zremrangebylex`







ZREMRANGEBYRANK
***************

Removes members in a sorted set within a range of indexes. Deletes the sorted set if all members were removed.

- Documentation: `ZREMRANGEBYRANK <https://redis.io/commands/zremrangebyrank>`_
- Implementation: :meth:`~coredis.Redis.zremrangebyrank`







ZREMRANGEBYSCORE
****************

Removes members in a sorted set within a range of scores. Deletes the sorted set if all members were removed.

- Documentation: `ZREMRANGEBYSCORE <https://redis.io/commands/zremrangebyscore>`_
- Implementation: :meth:`~coredis.Redis.zremrangebyscore`







ZREVRANGE
*********

Returns members in a sorted set within a range of indexes in reverse order.

- Documentation: `ZREVRANGE <https://redis.io/commands/zrevrange>`_
- Implementation: :meth:`~coredis.Redis.zrevrange`


- Deprecated in redis: 6.2.0. Use :meth:`~coredis.Redis.zrange` with the ``rev`` argument




- Supports client caching: yes



ZREVRANGEBYLEX
**************

Returns members in a sorted set within a lexicographical range in reverse order.

- Documentation: `ZREVRANGEBYLEX <https://redis.io/commands/zrevrangebylex>`_
- Implementation: :meth:`~coredis.Redis.zrevrangebylex`


- Deprecated in redis: 6.2.0. Use :meth:`~coredis.Redis.zrange` with the ``rev`` and ``bylex`` arguments




- Supports client caching: yes



ZREVRANGEBYSCORE
****************

Returns members in a sorted set within a range of scores in reverse order.

- Documentation: `ZREVRANGEBYSCORE <https://redis.io/commands/zrevrangebyscore>`_
- Implementation: :meth:`~coredis.Redis.zrevrangebyscore`


- Deprecated in redis: 6.2.0. Use :meth:`~coredis.Redis.zrange` with the ``rev`` and ``byscore`` arguments




- Supports client caching: yes



ZREVRANK
********

Returns the index of a member in a sorted set ordered by descending scores.

- Documentation: `ZREVRANK <https://redis.io/commands/zrevrank>`_
- Implementation: :meth:`~coredis.Redis.zrevrank`





- Supports client caching: yes



ZSCAN
*****

Iterates over members and scores of a sorted set.

- Documentation: `ZSCAN <https://redis.io/commands/zscan>`_
- Implementation: :meth:`~coredis.Redis.zscan`







ZSCORE
******

Returns the score of a member in a sorted set.

- Documentation: `ZSCORE <https://redis.io/commands/zscore>`_
- Implementation: :meth:`~coredis.Redis.zscore`





- Supports client caching: yes



ZUNION
******

Returns the union of multiple sorted sets.

- Documentation: `ZUNION <https://redis.io/commands/zunion>`_
- Implementation: :meth:`~coredis.Redis.zunion`

- New in redis: 6.2.0







ZUNIONSTORE
***********

Stores the union of multiple sorted sets in a key.

- Documentation: `ZUNIONSTORE <https://redis.io/commands/zunionstore>`_
- Implementation: :meth:`~coredis.Redis.zunionstore`










Hyperloglog
^^^^^^^^^^^



PFADD
*****

Adds elements to a HyperLogLog key. Creates the key if it doesn't exist.

- Documentation: `PFADD <https://redis.io/commands/pfadd>`_
- Implementation: :meth:`~coredis.Redis.pfadd`







PFCOUNT
*******

Returns the approximated cardinality of the set(s) observed by the HyperLogLog key(s).

- Documentation: `PFCOUNT <https://redis.io/commands/pfcount>`_
- Implementation: :meth:`~coredis.Redis.pfcount`







PFMERGE
*******

Merges one or more HyperLogLog values into a single key.

- Documentation: `PFMERGE <https://redis.io/commands/pfmerge>`_
- Implementation: :meth:`~coredis.Redis.pfmerge`










Geo
^^^



GEOADD
******

Adds one or more members to a geospatial index. The key is created if it doesn't exist.

- Documentation: `GEOADD <https://redis.io/commands/geoadd>`_
- Implementation: :meth:`~coredis.Redis.geoadd`







GEODIST
*******

Returns the distance between two members of a geospatial index.

- Documentation: `GEODIST <https://redis.io/commands/geodist>`_
- Implementation: :meth:`~coredis.Redis.geodist`







GEOHASH
*******

Returns members from a geospatial index as geohash strings.

- Documentation: `GEOHASH <https://redis.io/commands/geohash>`_
- Implementation: :meth:`~coredis.Redis.geohash`







GEOPOS
******

Returns the longitude and latitude of members from a geospatial index.

- Documentation: `GEOPOS <https://redis.io/commands/geopos>`_
- Implementation: :meth:`~coredis.Redis.geopos`







GEORADIUS
*********

Queries a geospatial index for members within a distance from a coordinate, optionally stores the result.

- Documentation: `GEORADIUS <https://redis.io/commands/georadius>`_
- Implementation: :meth:`~coredis.Redis.georadius`


- Deprecated in redis: 6.2.0. Use :meth:`~coredis.Redis.geosearch` and :meth:`~coredis.Redis.geosearchstore` with the ``byradius`` argument






GEORADIUSBYMEMBER
*****************

Queries a geospatial index for members within a distance from a member, optionally stores the result.

- Documentation: `GEORADIUSBYMEMBER <https://redis.io/commands/georadiusbymember>`_
- Implementation: :meth:`~coredis.Redis.georadiusbymember`


- Deprecated in redis: 6.2.0. Use :meth:`~coredis.Redis.geosearch` and :meth:`~coredis.Redis.geosearchstore` with the ``byradius`` and ``frommember`` arguments






GEOSEARCH
*********

Queries a geospatial index for members inside an area of a box or a circle.

- Documentation: `GEOSEARCH <https://redis.io/commands/geosearch>`_
- Implementation: :meth:`~coredis.Redis.geosearch`

- New in redis: 6.2.0







GEOSEARCHSTORE
**************

Queries a geospatial index for members inside an area of a box or a circle, optionally stores the result.

- Documentation: `GEOSEARCHSTORE <https://redis.io/commands/geosearchstore>`_
- Implementation: :meth:`~coredis.Redis.geosearchstore`

- New in redis: 6.2.0










Stream
^^^^^^



XACK
****

Returns the number of messages that were successfully acknowledged by the consumer group member of a stream.

- Documentation: `XACK <https://redis.io/commands/xack>`_
- Implementation: :meth:`~coredis.Redis.xack`







XACKDEL
*******

Acknowledges and deletes one or multiple messages for a stream consumer group.

- Documentation: `XACKDEL <https://redis.io/commands/xackdel>`_
- Implementation: :meth:`~coredis.Redis.xackdel`

- New in redis: 8.2.0



- .. versionadded:: 5.2.0





XADD
****

Appends a new message to a stream. Creates the key if it doesn't exist.

- Documentation: `XADD <https://redis.io/commands/xadd>`_
- Implementation: :meth:`~coredis.Redis.xadd`







XAUTOCLAIM
**********

Changes, or acquires, ownership of messages in a consumer group, as if the messages were delivered to as consumer group member.

- Documentation: `XAUTOCLAIM <https://redis.io/commands/xautoclaim>`_
- Implementation: :meth:`~coredis.Redis.xautoclaim`

- New in redis: 6.2.0



- .. versionadded:: 3.0.0





XCLAIM
******

Changes, or acquires, ownership of a message in a consumer group, as if the message was delivered a consumer group member.

- Documentation: `XCLAIM <https://redis.io/commands/xclaim>`_
- Implementation: :meth:`~coredis.Redis.xclaim`







XDEL
****

Returns the number of messages after removing them from a stream.

- Documentation: `XDEL <https://redis.io/commands/xdel>`_
- Implementation: :meth:`~coredis.Redis.xdel`







XDELEX
******

Deletes one or multiple entries from the stream.

- Documentation: `XDELEX <https://redis.io/commands/xdelex>`_
- Implementation: :meth:`~coredis.Redis.xdelex`

- New in redis: 8.2.0



- .. versionadded:: 5.2.0





XGROUP CREATE
*************

Creates a consumer group.

- Documentation: `XGROUP CREATE <https://redis.io/commands/xgroup-create>`_
- Implementation: :meth:`~coredis.Redis.xgroup_create`







XGROUP CREATECONSUMER
*********************

Creates a consumer in a consumer group.

- Documentation: `XGROUP CREATECONSUMER <https://redis.io/commands/xgroup-createconsumer>`_
- Implementation: :meth:`~coredis.Redis.xgroup_createconsumer`

- New in redis: 6.2.0



- .. versionadded:: 3.0.0





XGROUP DELCONSUMER
******************

Deletes a consumer from a consumer group.

- Documentation: `XGROUP DELCONSUMER <https://redis.io/commands/xgroup-delconsumer>`_
- Implementation: :meth:`~coredis.Redis.xgroup_delconsumer`



- .. versionadded:: 3.0.0





XGROUP DESTROY
**************

Destroys a consumer group.

- Documentation: `XGROUP DESTROY <https://redis.io/commands/xgroup-destroy>`_
- Implementation: :meth:`~coredis.Redis.xgroup_destroy`







XGROUP SETID
************

Sets the last-delivered ID of a consumer group.

- Documentation: `XGROUP SETID <https://redis.io/commands/xgroup-setid>`_
- Implementation: :meth:`~coredis.Redis.xgroup_setid`



- .. versionadded:: 3.0.0





XINFO CONSUMERS
***************

Returns a list of the consumers in a consumer group.

- Documentation: `XINFO CONSUMERS <https://redis.io/commands/xinfo-consumers>`_
- Implementation: :meth:`~coredis.Redis.xinfo_consumers`







XINFO GROUPS
************

Returns a list of the consumer groups of a stream.

- Documentation: `XINFO GROUPS <https://redis.io/commands/xinfo-groups>`_
- Implementation: :meth:`~coredis.Redis.xinfo_groups`







XINFO STREAM
************

Returns information about a stream.

- Documentation: `XINFO STREAM <https://redis.io/commands/xinfo-stream>`_
- Implementation: :meth:`~coredis.Redis.xinfo_stream`







XLEN
****

Return the number of messages in a stream.

- Documentation: `XLEN <https://redis.io/commands/xlen>`_
- Implementation: :meth:`~coredis.Redis.xlen`







XPENDING
********

Returns the information and entries from a stream consumer group's pending entries list.

- Documentation: `XPENDING <https://redis.io/commands/xpending>`_
- Implementation: :meth:`~coredis.Redis.xpending`







XRANGE
******

Returns the messages from a stream within a range of IDs.

- Documentation: `XRANGE <https://redis.io/commands/xrange>`_
- Implementation: :meth:`~coredis.Redis.xrange`







XREAD
*****

Returns messages from multiple streams with IDs greater than the ones requested. Blocks until a message is available otherwise.

- Documentation: `XREAD <https://redis.io/commands/xread>`_
- Implementation: :meth:`~coredis.Redis.xread`







XREADGROUP
**********

Returns new or historical messages from a stream for a consumer in a group. Blocks until a message is available otherwise.

- Documentation: `XREADGROUP <https://redis.io/commands/xreadgroup>`_
- Implementation: :meth:`~coredis.Redis.xreadgroup`







XREVRANGE
*********

Returns the messages from a stream within a range of IDs in reverse order.

- Documentation: `XREVRANGE <https://redis.io/commands/xrevrange>`_
- Implementation: :meth:`~coredis.Redis.xrevrange`







XTRIM
*****

Deletes messages from the beginning of a stream.

- Documentation: `XTRIM <https://redis.io/commands/xtrim>`_
- Implementation: :meth:`~coredis.Redis.xtrim`










Scripting
^^^^^^^^^



EVAL
****

Executes a server-side Lua script.

- Documentation: `EVAL <https://redis.io/commands/eval>`_
- Implementation: :meth:`~coredis.Redis.eval`







EVALSHA
*******

Executes a server-side Lua script by SHA1 digest.

- Documentation: `EVALSHA <https://redis.io/commands/evalsha>`_
- Implementation: :meth:`~coredis.Redis.evalsha`







EVALSHA_RO
**********

Executes a read-only server-side Lua script by SHA1 digest.

- Documentation: `EVALSHA_RO <https://redis.io/commands/evalsha_ro>`_
- Implementation: :meth:`~coredis.Redis.evalsha_ro`

- New in redis: 7.0.0



- .. versionadded:: 3.0.0





EVAL_RO
*******

Executes a read-only server-side Lua script.

- Documentation: `EVAL_RO <https://redis.io/commands/eval_ro>`_
- Implementation: :meth:`~coredis.Redis.eval_ro`

- New in redis: 7.0.0



- .. versionadded:: 3.0.0





FCALL
*****

Invokes a function.

- Documentation: `FCALL <https://redis.io/commands/fcall>`_
- Implementation: :meth:`~coredis.Redis.fcall`

- New in redis: 7.0.0



- .. versionadded:: 3.1.0





FCALL_RO
********

Invokes a read-only function.

- Documentation: `FCALL_RO <https://redis.io/commands/fcall_ro>`_
- Implementation: :meth:`~coredis.Redis.fcall_ro`

- New in redis: 7.0.0



- .. versionadded:: 3.1.0





FUNCTION DELETE
***************

Deletes a library and its functions.

- Documentation: `FUNCTION DELETE <https://redis.io/commands/function-delete>`_
- Implementation: :meth:`~coredis.Redis.function_delete`

- New in redis: 7.0.0



- .. versionadded:: 3.1.0





FUNCTION DUMP
*************

Dumps all libraries into a serialized binary payload.

- Documentation: `FUNCTION DUMP <https://redis.io/commands/function-dump>`_
- Implementation: :meth:`~coredis.Redis.function_dump`

- New in redis: 7.0.0



- .. versionadded:: 3.1.0





FUNCTION FLUSH
**************

Deletes all libraries and functions.

- Documentation: `FUNCTION FLUSH <https://redis.io/commands/function-flush>`_
- Implementation: :meth:`~coredis.Redis.function_flush`

- New in redis: 7.0.0



- .. versionadded:: 3.1.0





FUNCTION KILL
*************

Terminates a function during execution.

- Documentation: `FUNCTION KILL <https://redis.io/commands/function-kill>`_
- Implementation: :meth:`~coredis.Redis.function_kill`

- New in redis: 7.0.0



- .. versionadded:: 3.1.0





FUNCTION LIST
*************

Returns information about all libraries.

- Documentation: `FUNCTION LIST <https://redis.io/commands/function-list>`_
- Implementation: :meth:`~coredis.Redis.function_list`

- New in redis: 7.0.0



- .. versionadded:: 3.1.0





FUNCTION LOAD
*************

Creates a library.

- Documentation: `FUNCTION LOAD <https://redis.io/commands/function-load>`_
- Implementation: :meth:`~coredis.Redis.function_load`

- New in redis: 7.0.0



- .. versionadded:: 3.1.0





FUNCTION RESTORE
****************

Restores all libraries from a payload.

- Documentation: `FUNCTION RESTORE <https://redis.io/commands/function-restore>`_
- Implementation: :meth:`~coredis.Redis.function_restore`

- New in redis: 7.0.0



- .. versionadded:: 3.1.0





FUNCTION STATS
**************

Returns information about a function during execution.

- Documentation: `FUNCTION STATS <https://redis.io/commands/function-stats>`_
- Implementation: :meth:`~coredis.Redis.function_stats`

- New in redis: 7.0.0



- .. versionadded:: 3.1.0





SCRIPT DEBUG
************

Sets the debug mode of server-side Lua scripts.

- Documentation: `SCRIPT DEBUG <https://redis.io/commands/script-debug>`_
- Implementation: :meth:`~coredis.Redis.script_debug`



- .. versionadded:: 3.0.0





SCRIPT EXISTS
*************

Determines whether server-side Lua scripts exist in the script cache.

- Documentation: `SCRIPT EXISTS <https://redis.io/commands/script-exists>`_
- Implementation: :meth:`~coredis.Redis.script_exists`







SCRIPT FLUSH
************

Removes all server-side Lua scripts from the script cache.

- Documentation: `SCRIPT FLUSH <https://redis.io/commands/script-flush>`_
- Implementation: :meth:`~coredis.Redis.script_flush`







SCRIPT KILL
***********

Terminates a server-side Lua script during execution.

- Documentation: `SCRIPT KILL <https://redis.io/commands/script-kill>`_
- Implementation: :meth:`~coredis.Redis.script_kill`







SCRIPT LOAD
***********

Loads a server-side Lua script to the script cache.

- Documentation: `SCRIPT LOAD <https://redis.io/commands/script-load>`_
- Implementation: :meth:`~coredis.Redis.script_load`










Pubsub
^^^^^^



PUBLISH
*******

Posts a message to a channel.

- Documentation: `PUBLISH <https://redis.io/commands/publish>`_
- Implementation: :meth:`~coredis.Redis.publish`







PUBSUB CHANNELS
***************

Returns the active channels.

- Documentation: `PUBSUB CHANNELS <https://redis.io/commands/pubsub-channels>`_
- Implementation: :meth:`~coredis.Redis.pubsub_channels`







PUBSUB NUMPAT
*************

Returns a count of unique pattern subscriptions.

- Documentation: `PUBSUB NUMPAT <https://redis.io/commands/pubsub-numpat>`_
- Implementation: :meth:`~coredis.Redis.pubsub_numpat`







PUBSUB NUMSUB
*************

Returns a count of subscribers to channels.

- Documentation: `PUBSUB NUMSUB <https://redis.io/commands/pubsub-numsub>`_
- Implementation: :meth:`~coredis.Redis.pubsub_numsub`







PUBSUB SHARDCHANNELS
********************

Returns the active shard channels.

- Documentation: `PUBSUB SHARDCHANNELS <https://redis.io/commands/pubsub-shardchannels>`_
- Implementation: :meth:`~coredis.Redis.pubsub_shardchannels`

- New in redis: 7.0.0



- .. versionadded:: 3.6.0





PUBSUB SHARDNUMSUB
******************

Returns the count of subscribers of shard channels.

- Documentation: `PUBSUB SHARDNUMSUB <https://redis.io/commands/pubsub-shardnumsub>`_
- Implementation: :meth:`~coredis.Redis.pubsub_shardnumsub`

- New in redis: 7.0.0







SPUBLISH
********

Post a message to a shard channel

- Documentation: `SPUBLISH <https://redis.io/commands/spublish>`_
- Implementation: :meth:`~coredis.Redis.spublish`

- New in redis: 7.0.0



- .. versionadded:: 3.6.0





PSUBSCRIBE [X]
**************

Listens for messages published to channels that match one or more patterns.

- Documentation: `PSUBSCRIBE <https://redis.io/commands/psubscribe>`_

- Not Implemented


PUNSUBSCRIBE [X]
****************

Stops listening to messages published to channels that match one or more patterns.

- Documentation: `PUNSUBSCRIBE <https://redis.io/commands/punsubscribe>`_

- Not Implemented


SSUBSCRIBE [X]
**************

Listens for messages published to shard channels.

- Documentation: `SSUBSCRIBE <https://redis.io/commands/ssubscribe>`_

- Not Implemented


SUBSCRIBE [X]
*************

Listens for messages published to channels.

- Documentation: `SUBSCRIBE <https://redis.io/commands/subscribe>`_

- Not Implemented


SUNSUBSCRIBE [X]
****************

Stops listening to messages posted to shard channels.

- Documentation: `SUNSUBSCRIBE <https://redis.io/commands/sunsubscribe>`_

- Not Implemented


UNSUBSCRIBE [X]
***************

Stops listening to messages posted to channels.

- Documentation: `UNSUBSCRIBE <https://redis.io/commands/unsubscribe>`_

- Not Implemented





Transactions
^^^^^^^^^^^^



DISCARD [X]
***********

Discards a transaction.

- Documentation: `DISCARD <https://redis.io/commands/discard>`_

- Not Implemented


EXEC [X]
********

Executes all commands in a transaction.

- Documentation: `EXEC <https://redis.io/commands/exec>`_

- Not Implemented


MULTI [X]
*********

Starts a transaction.

- Documentation: `MULTI <https://redis.io/commands/multi>`_

- Not Implemented


UNWATCH [X]
***********

Forgets about watched keys of a transaction.

- Documentation: `UNWATCH <https://redis.io/commands/unwatch>`_

- Not Implemented


WATCH [X]
*********

Monitors changes to keys to determine the execution of a transaction.

- Documentation: `WATCH <https://redis.io/commands/watch>`_

- Not Implemented





Vector_Set
^^^^^^^^^^



VADD
****

Add one or more elements to a vector set, or update its vector if it already exists

- Documentation: `VADD <https://redis.io/commands/vadd>`_
- Implementation: :meth:`~coredis.Redis.vadd`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





VREM
****

Remove an element from a vector set

- Documentation: `VREM <https://redis.io/commands/vrem>`_
- Implementation: :meth:`~coredis.Redis.vrem`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





VSIM
****

Return elements by vector similarity

- Documentation: `VSIM <https://redis.io/commands/vsim>`_
- Implementation: :meth:`~coredis.Redis.vsim`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





VDIM
****

Return the dimension of vectors in the vector set

- Documentation: `VDIM <https://redis.io/commands/vdim>`_
- Implementation: :meth:`~coredis.Redis.vdim`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





VCARD
*****

Return the number of elements in a vector set

- Documentation: `VCARD <https://redis.io/commands/vcard>`_
- Implementation: :meth:`~coredis.Redis.vcard`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





VEMB
****

Return the vector associated with an element

- Documentation: `VEMB <https://redis.io/commands/vemb>`_
- Implementation: :meth:`~coredis.Redis.vemb`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





VLINKS
******

Return the neighbors of an element at each layer in the HNSW graph

- Documentation: `VLINKS <https://redis.io/commands/vlinks>`_
- Implementation: :meth:`~coredis.Redis.vlinks`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





VINFO
*****

Return information about a vector set

- Documentation: `VINFO <https://redis.io/commands/vinfo>`_
- Implementation: :meth:`~coredis.Redis.vinfo`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





VSETATTR
********

Associate or remove the JSON attributes of elements

- Documentation: `VSETATTR <https://redis.io/commands/vsetattr>`_
- Implementation: :meth:`~coredis.Redis.vsetattr`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





VGETATTR
********

Retrieve the JSON attributes of elements

- Documentation: `VGETATTR <https://redis.io/commands/vgetattr>`_
- Implementation: :meth:`~coredis.Redis.vgetattr`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





VRANDMEMBER
***********

Return one or multiple random members from a vector set

- Documentation: `VRANDMEMBER <https://redis.io/commands/vrandmember>`_
- Implementation: :meth:`~coredis.Redis.vrandmember`

- New in redis: 8.0.0



- .. versionadded:: 5.0.0





VISMEMBER
*********

Check if an element exists in a vector set

- Documentation: `VISMEMBER <https://redis.io/commands/vismember>`_
- Implementation: :meth:`~coredis.Redis.vismember`

- New in redis: 8.2.0



- .. versionadded:: 5.2.0








Server
^^^^^^



ACL CAT
*******

Lists the ACL categories, or the commands inside a category.

- Documentation: `ACL CAT <https://redis.io/commands/acl-cat>`_
- Implementation: :meth:`~coredis.Redis.acl_cat`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





ACL DELUSER
***********

Deletes ACL users, and terminates their connections.

- Documentation: `ACL DELUSER <https://redis.io/commands/acl-deluser>`_
- Implementation: :meth:`~coredis.Redis.acl_deluser`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





ACL DRYRUN
**********

Simulates the execution of a command by a user, without executing the command.

- Documentation: `ACL DRYRUN <https://redis.io/commands/acl-dryrun>`_
- Implementation: :meth:`~coredis.Redis.acl_dryrun`

- New in redis: 7.0.0



- .. versionadded:: 3.0.0





ACL GENPASS
***********

Generates a pseudorandom, secure password that can be used to identify ACL users.

- Documentation: `ACL GENPASS <https://redis.io/commands/acl-genpass>`_
- Implementation: :meth:`~coredis.Redis.acl_genpass`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





ACL GETUSER
***********

Lists the ACL rules of a user.

- Documentation: `ACL GETUSER <https://redis.io/commands/acl-getuser>`_
- Implementation: :meth:`~coredis.Redis.acl_getuser`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





ACL LIST
********

Dumps the effective rules in ACL file format.

- Documentation: `ACL LIST <https://redis.io/commands/acl-list>`_
- Implementation: :meth:`~coredis.Redis.acl_list`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





ACL LOAD
********

Reloads the rules from the configured ACL file.

- Documentation: `ACL LOAD <https://redis.io/commands/acl-load>`_
- Implementation: :meth:`~coredis.Redis.acl_load`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





ACL LOG
*******

Lists recent security events generated due to ACL rules.

- Documentation: `ACL LOG <https://redis.io/commands/acl-log>`_
- Implementation: :meth:`~coredis.Redis.acl_log`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





ACL SAVE
********

Saves the effective ACL rules in the configured ACL file.

- Documentation: `ACL SAVE <https://redis.io/commands/acl-save>`_
- Implementation: :meth:`~coredis.Redis.acl_save`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





ACL SETUSER
***********

Creates and modifies an ACL user and its rules.

- Documentation: `ACL SETUSER <https://redis.io/commands/acl-setuser>`_
- Implementation: :meth:`~coredis.Redis.acl_setuser`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





ACL USERS
*********

Lists all ACL users.

- Documentation: `ACL USERS <https://redis.io/commands/acl-users>`_
- Implementation: :meth:`~coredis.Redis.acl_users`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





ACL WHOAMI
**********

Returns the authenticated username of the current connection.

- Documentation: `ACL WHOAMI <https://redis.io/commands/acl-whoami>`_
- Implementation: :meth:`~coredis.Redis.acl_whoami`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





BGREWRITEAOF
************

Asynchronously rewrites the append-only file to disk.

- Documentation: `BGREWRITEAOF <https://redis.io/commands/bgrewriteaof>`_
- Implementation: :meth:`~coredis.Redis.bgrewriteaof`







BGSAVE
******

Asynchronously saves the database(s) to disk.

- Documentation: `BGSAVE <https://redis.io/commands/bgsave>`_
- Implementation: :meth:`~coredis.Redis.bgsave`







COMMAND
*******

Returns detailed information about all commands.

- Documentation: `COMMAND <https://redis.io/commands/command>`_
- Implementation: :meth:`~coredis.Redis.command`



- .. versionadded:: 3.0.0





COMMAND COUNT
*************

Returns a count of commands.

- Documentation: `COMMAND COUNT <https://redis.io/commands/command-count>`_
- Implementation: :meth:`~coredis.Redis.command_count`



- .. versionadded:: 3.0.0





COMMAND DOCS
************

Returns documentary information about one, multiple or all commands.

- Documentation: `COMMAND DOCS <https://redis.io/commands/command-docs>`_
- Implementation: :meth:`~coredis.Redis.command_docs`

- New in redis: 7.0.0



- .. versionadded:: 3.1.0





COMMAND GETKEYS
***************

Extracts the key names from an arbitrary command.

- Documentation: `COMMAND GETKEYS <https://redis.io/commands/command-getkeys>`_
- Implementation: :meth:`~coredis.Redis.command_getkeys`



- .. versionadded:: 3.0.0





COMMAND GETKEYSANDFLAGS
***********************

Extracts the key names and access flags for an arbitrary command.

- Documentation: `COMMAND GETKEYSANDFLAGS <https://redis.io/commands/command-getkeysandflags>`_
- Implementation: :meth:`~coredis.Redis.command_getkeysandflags`

- New in redis: 7.0.0



- .. versionadded:: 3.1.0





COMMAND INFO
************

Returns information about one, multiple or all commands.

- Documentation: `COMMAND INFO <https://redis.io/commands/command-info>`_
- Implementation: :meth:`~coredis.Redis.command_info`



- .. versionadded:: 3.0.0





COMMAND LIST
************

Returns a list of command names.

- Documentation: `COMMAND LIST <https://redis.io/commands/command-list>`_
- Implementation: :meth:`~coredis.Redis.command_list`

- New in redis: 7.0.0



- .. versionadded:: 3.1.0





CONFIG GET
**********

Returns the effective values of configuration parameters.

- Documentation: `CONFIG GET <https://redis.io/commands/config-get>`_
- Implementation: :meth:`~coredis.Redis.config_get`







CONFIG RESETSTAT
****************

Resets the server's statistics.

- Documentation: `CONFIG RESETSTAT <https://redis.io/commands/config-resetstat>`_
- Implementation: :meth:`~coredis.Redis.config_resetstat`







CONFIG REWRITE
**************

Persists the effective configuration to file.

- Documentation: `CONFIG REWRITE <https://redis.io/commands/config-rewrite>`_
- Implementation: :meth:`~coredis.Redis.config_rewrite`







CONFIG SET
**********

Sets configuration parameters in-flight.

- Documentation: `CONFIG SET <https://redis.io/commands/config-set>`_
- Implementation: :meth:`~coredis.Redis.config_set`







DBSIZE
******

Returns the number of keys in the database.

- Documentation: `DBSIZE <https://redis.io/commands/dbsize>`_
- Implementation: :meth:`~coredis.Redis.dbsize`







FAILOVER
********

Starts a coordinated failover from a server to one of its replicas.

- Documentation: `FAILOVER <https://redis.io/commands/failover>`_
- Implementation: :meth:`~coredis.Redis.failover`

- New in redis: 6.2.0



- .. versionadded:: 3.0.0





FLUSHALL
********

Removes all keys from all databases.

- Documentation: `FLUSHALL <https://redis.io/commands/flushall>`_
- Implementation: :meth:`~coredis.Redis.flushall`







FLUSHDB
*******

Remove all keys from the current database.

- Documentation: `FLUSHDB <https://redis.io/commands/flushdb>`_
- Implementation: :meth:`~coredis.Redis.flushdb`







INFO
****

Returns information and statistics about the server.

- Documentation: `INFO <https://redis.io/commands/info>`_
- Implementation: :meth:`~coredis.Redis.info`







LASTSAVE
********

Returns the Unix timestamp of the last successful save to disk.

- Documentation: `LASTSAVE <https://redis.io/commands/lastsave>`_
- Implementation: :meth:`~coredis.Redis.lastsave`







LATENCY DOCTOR
**************

Returns a human-readable latency analysis report.

- Documentation: `LATENCY DOCTOR <https://redis.io/commands/latency-doctor>`_
- Implementation: :meth:`~coredis.Redis.latency_doctor`



- .. versionadded:: 3.0.0





LATENCY GRAPH
*************

Returns a latency graph for an event.

- Documentation: `LATENCY GRAPH <https://redis.io/commands/latency-graph>`_
- Implementation: :meth:`~coredis.Redis.latency_graph`



- .. versionadded:: 3.0.0





LATENCY HISTOGRAM
*****************

Returns the cumulative distribution of latencies of a subset or all commands.

- Documentation: `LATENCY HISTOGRAM <https://redis.io/commands/latency-histogram>`_
- Implementation: :meth:`~coredis.Redis.latency_histogram`

- New in redis: 7.0.0



- .. versionadded:: 3.2.0





LATENCY HISTORY
***************

Returns timestamp-latency samples for an event.

- Documentation: `LATENCY HISTORY <https://redis.io/commands/latency-history>`_
- Implementation: :meth:`~coredis.Redis.latency_history`



- .. versionadded:: 3.0.0





LATENCY LATEST
**************

Returns the latest latency samples for all events.

- Documentation: `LATENCY LATEST <https://redis.io/commands/latency-latest>`_
- Implementation: :meth:`~coredis.Redis.latency_latest`



- .. versionadded:: 3.0.0





LATENCY RESET
*************

Resets the latency data for one or more events.

- Documentation: `LATENCY RESET <https://redis.io/commands/latency-reset>`_
- Implementation: :meth:`~coredis.Redis.latency_reset`



- .. versionadded:: 3.0.0





LOLWUT
******

Displays computer art and the Redis version

- Documentation: `LOLWUT <https://redis.io/commands/lolwut>`_
- Implementation: :meth:`~coredis.Redis.lolwut`







MEMORY DOCTOR
*************

Outputs a memory problems report.

- Documentation: `MEMORY DOCTOR <https://redis.io/commands/memory-doctor>`_
- Implementation: :meth:`~coredis.Redis.memory_doctor`



- .. versionadded:: 3.0.0





MEMORY MALLOC-STATS
*******************

Returns the allocator statistics.

- Documentation: `MEMORY MALLOC-STATS <https://redis.io/commands/memory-malloc-stats>`_
- Implementation: :meth:`~coredis.Redis.memory_malloc_stats`



- .. versionadded:: 3.0.0





MEMORY PURGE
************

Asks the allocator to release memory.

- Documentation: `MEMORY PURGE <https://redis.io/commands/memory-purge>`_
- Implementation: :meth:`~coredis.Redis.memory_purge`



- .. versionadded:: 3.0.0





MEMORY STATS
************

Returns details about memory usage.

- Documentation: `MEMORY STATS <https://redis.io/commands/memory-stats>`_
- Implementation: :meth:`~coredis.Redis.memory_stats`



- .. versionadded:: 3.0.0





MEMORY USAGE
************

Estimates the memory usage of a key.

- Documentation: `MEMORY USAGE <https://redis.io/commands/memory-usage>`_
- Implementation: :meth:`~coredis.Redis.memory_usage`



- .. versionadded:: 3.0.0





MODULE LIST
***********

Returns all loaded modules.

- Documentation: `MODULE LIST <https://redis.io/commands/module-list>`_
- Implementation: :meth:`~coredis.Redis.module_list`



- .. versionadded:: 3.2.0





MODULE LOAD
***********

Loads a module.

- Documentation: `MODULE LOAD <https://redis.io/commands/module-load>`_
- Implementation: :meth:`~coredis.Redis.module_load`



- .. versionadded:: 3.2.0





MODULE LOADEX
*************

Loads a module using extended parameters.

- Documentation: `MODULE LOADEX <https://redis.io/commands/module-loadex>`_
- Implementation: :meth:`~coredis.Redis.module_loadex`

- New in redis: 7.0.0



- .. versionadded:: 3.4.0





MODULE UNLOAD
*************

Unloads a module.

- Documentation: `MODULE UNLOAD <https://redis.io/commands/module-unload>`_
- Implementation: :meth:`~coredis.Redis.module_unload`



- .. versionadded:: 3.2.0





MONITOR
*******

Listens for all requests received by the server in real-time.

- Documentation: `MONITOR <https://redis.io/commands/monitor>`_
- Implementation: :meth:`~coredis.Redis.monitor`







REPLICAOF
*********

Configures a server as replica of another, or promotes it to a master.

- Documentation: `REPLICAOF <https://redis.io/commands/replicaof>`_
- Implementation: :meth:`~coredis.Redis.replicaof`



- .. versionadded:: 3.0.0





ROLE
****

Returns the replication role.

- Documentation: `ROLE <https://redis.io/commands/role>`_
- Implementation: :meth:`~coredis.Redis.role`







SAVE
****

Synchronously saves the database(s) to disk.

- Documentation: `SAVE <https://redis.io/commands/save>`_
- Implementation: :meth:`~coredis.Redis.save`







SHUTDOWN
********

Synchronously saves the database(s) to disk and shuts down the Redis server.

- Documentation: `SHUTDOWN <https://redis.io/commands/shutdown>`_
- Implementation: :meth:`~coredis.Redis.shutdown`







SLAVEOF
*******

Sets a Redis server as a replica of another, or promotes it to being a master.

- Documentation: `SLAVEOF <https://redis.io/commands/slaveof>`_
- Implementation: :meth:`~coredis.Redis.slaveof`


- Deprecated in redis: 5.0.0. Use :meth:`~coredis.Redis.replicaof`






SLOWLOG GET
***********

Returns the slow log's entries.

- Documentation: `SLOWLOG GET <https://redis.io/commands/slowlog-get>`_
- Implementation: :meth:`~coredis.Redis.slowlog_get`







SLOWLOG LEN
***********

Returns the number of entries in the slow log.

- Documentation: `SLOWLOG LEN <https://redis.io/commands/slowlog-len>`_
- Implementation: :meth:`~coredis.Redis.slowlog_len`







SLOWLOG RESET
*************

Clears all entries from the slow log.

- Documentation: `SLOWLOG RESET <https://redis.io/commands/slowlog-reset>`_
- Implementation: :meth:`~coredis.Redis.slowlog_reset`







SWAPDB
******

Swaps two Redis databases.

- Documentation: `SWAPDB <https://redis.io/commands/swapdb>`_
- Implementation: :meth:`~coredis.Redis.swapdb`



- .. versionadded:: 3.0.0





TIME
****

Returns the server time.

- Documentation: `TIME <https://redis.io/commands/time>`_
- Implementation: :meth:`~coredis.Redis.time`










Connection
^^^^^^^^^^



AUTH
****

Authenticates the connection.

- Documentation: `AUTH <https://redis.io/commands/auth>`_
- Implementation: :meth:`~coredis.Redis.auth`

  .. warning:: Using :meth:`~coredis.Redis.auth` directly is not recommended. Use the :paramref:`Redis.username` and :paramref:`Redis.password` arguments when initializing the client to ensure that all connections originating from this client are authenticated before being made available.



- .. versionadded:: 3.0.0





CLIENT CACHING
**************

Instructs the server whether to track the keys in the next request.

- Documentation: `CLIENT CACHING <https://redis.io/commands/client-caching>`_
- Implementation: :meth:`~coredis.Redis.client_caching`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





CLIENT GETNAME
**************

Returns the name of the connection.

- Documentation: `CLIENT GETNAME <https://redis.io/commands/client-getname>`_
- Implementation: :meth:`~coredis.Redis.client_getname`







CLIENT GETREDIR
***************

Returns the client ID to which the connection's tracking notifications are redirected.

- Documentation: `CLIENT GETREDIR <https://redis.io/commands/client-getredir>`_
- Implementation: :meth:`~coredis.Redis.client_getredir`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





CLIENT ID
*********

Returns the unique client ID of the connection.

- Documentation: `CLIENT ID <https://redis.io/commands/client-id>`_
- Implementation: :meth:`~coredis.Redis.client_id`



- .. versionadded:: 3.0.0





CLIENT INFO
***********

Returns information about the connection.

- Documentation: `CLIENT INFO <https://redis.io/commands/client-info>`_
- Implementation: :meth:`~coredis.Redis.client_info`

- New in redis: 6.2.0



- .. versionadded:: 3.0.0





CLIENT KILL
***********

Terminates open connections.

- Documentation: `CLIENT KILL <https://redis.io/commands/client-kill>`_
- Implementation: :meth:`~coredis.Redis.client_kill`







CLIENT LIST
***********

Lists open connections.

- Documentation: `CLIENT LIST <https://redis.io/commands/client-list>`_
- Implementation: :meth:`~coredis.Redis.client_list`







CLIENT NO-EVICT
***************

Sets the client eviction mode of the connection.

- Documentation: `CLIENT NO-EVICT <https://redis.io/commands/client-no-evict>`_
- Implementation: :meth:`~coredis.Redis.client_no_evict`

  .. warning:: Using :meth:`~coredis.Redis.client_no_evict` directly is not recommended. Use :paramref:`Redis.noevict` argument when initializing the client to ensure that all connections originating from this client use the desired mode

- New in redis: 7.0.0



- .. versionadded:: 3.2.0





CLIENT NO-TOUCH
***************

Controls whether commands sent by the client affect the LRU/LFU of accessed keys.

- Documentation: `CLIENT NO-TOUCH <https://redis.io/commands/client-no-touch>`_
- Implementation: :meth:`~coredis.Redis.client_no_touch`

  .. warning:: Using :meth:`~coredis.Redis.client_no_touch` directly is not recommended. Use :paramref:`Redis.notouch` argument when initializing the client to ensure that all connections originating from this client use the desired mode

- New in redis: 7.2.0



- .. versionadded:: 4.12.0





CLIENT PAUSE
************

Suspends commands processing.

- Documentation: `CLIENT PAUSE <https://redis.io/commands/client-pause>`_
- Implementation: :meth:`~coredis.Redis.client_pause`







CLIENT REPLY
************

Instructs the server whether to reply to commands.

- Documentation: `CLIENT REPLY <https://redis.io/commands/client-reply>`_
- .. danger:: :meth:`~coredis.Redis.client_reply` intentionally raises an :exc:`NotImplemented` error. Use the :paramref:`Redis.noreply` argument when initializing the client to ensure that all connections originating from this client disable or enable replies. You can also use the :meth:`Redis.ignore_replies` context manager to selectively execute certain commands without waiting for a reply



- .. versionadded:: 3.0.0





CLIENT SETINFO
**************

Sets information specific to the client or connection.

- Documentation: `CLIENT SETINFO <https://redis.io/commands/client-setinfo>`_
- Implementation: :meth:`~coredis.Redis.client_setinfo`

  .. warning:: Using :meth:`~coredis.Redis.client_setinfo` directly is not recommended. Coredis sets the library name and version by default during the handshake phase.Explicitly calling this command will only apply to the connection from the pool that was used to send it and not for subsequent commands

- New in redis: 7.2.0



- .. versionadded:: 4.12.0





CLIENT SETNAME
**************

Sets the connection name.

- Documentation: `CLIENT SETNAME <https://redis.io/commands/client-setname>`_
- Implementation: :meth:`~coredis.Redis.client_setname`

  .. warning:: Using :meth:`~coredis.Redis.client_setname` directly is not recommended. Use the :paramref:`Redis.client_name` argument when initializing the client to ensure the client name is consistent across all connections originating from the client







CLIENT TRACKING
***************

Controls server-assisted client-side caching for the connection.

- Documentation: `CLIENT TRACKING <https://redis.io/commands/client-tracking>`_
- Implementation: :meth:`~coredis.Redis.client_tracking`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





CLIENT TRACKINGINFO
*******************

Returns information about server-assisted client-side caching for the connection.

- Documentation: `CLIENT TRACKINGINFO <https://redis.io/commands/client-trackinginfo>`_
- Implementation: :meth:`~coredis.Redis.client_trackinginfo`

- New in redis: 6.2.0



- .. versionadded:: 3.0.0





CLIENT UNBLOCK
**************

Unblocks a client blocked by a blocking command from a different connection.

- Documentation: `CLIENT UNBLOCK <https://redis.io/commands/client-unblock>`_
- Implementation: :meth:`~coredis.Redis.client_unblock`



- .. versionadded:: 3.0.0





CLIENT UNPAUSE
**************

Resumes processing commands from paused clients.

- Documentation: `CLIENT UNPAUSE <https://redis.io/commands/client-unpause>`_
- Implementation: :meth:`~coredis.Redis.client_unpause`

- New in redis: 6.2.0



- .. versionadded:: 3.0.0





ECHO
****

Returns the given string.

- Documentation: `ECHO <https://redis.io/commands/echo>`_
- Implementation: :meth:`~coredis.Redis.echo`







HELLO
*****

Handshakes with the Redis server.

- Documentation: `HELLO <https://redis.io/commands/hello>`_
- Implementation: :meth:`~coredis.Redis.hello`

- New in redis: 6.0.0



- .. versionadded:: 3.0.0





PING
****

Returns the server's liveliness response.

- Documentation: `PING <https://redis.io/commands/ping>`_
- Implementation: :meth:`~coredis.Redis.ping`







QUIT
****

Closes the connection.

- Documentation: `QUIT <https://redis.io/commands/quit>`_
- Implementation: :meth:`~coredis.Redis.quit`


- Deprecated in redis: 7.2.0. Use just closing the connection






RESET
*****

Resets the connection.

- Documentation: `RESET <https://redis.io/commands/reset>`_
- Implementation: :meth:`~coredis.Redis.reset`

- New in redis: 6.2.0



- .. versionadded:: 3.0.0





SELECT
******

Changes the selected database.

- Documentation: `SELECT <https://redis.io/commands/select>`_
- Implementation: :meth:`~coredis.Redis.select`

  .. warning:: Using :meth:`~coredis.Redis.select` directly is not recommended. Use the `db` argument when initializing the client to ensure that all connections originating from this client use the desired database number



- .. versionadded:: 3.0.0








Cluster
^^^^^^^



ASKING
******

Signals that a cluster client is following an -ASK redirect.

- Documentation: `ASKING <https://redis.io/commands/asking>`_
- Implementation: :meth:`~coredis.Redis.asking`



- .. versionadded:: 3.0.0





CLUSTER ADDSLOTS
****************

Assigns new hash slots to a node.

- Documentation: `CLUSTER ADDSLOTS <https://redis.io/commands/cluster-addslots>`_
- Implementation: :meth:`~coredis.Redis.cluster_addslots`







CLUSTER ADDSLOTSRANGE
*********************

Assigns new hash slot ranges to a node.

- Documentation: `CLUSTER ADDSLOTSRANGE <https://redis.io/commands/cluster-addslotsrange>`_
- Implementation: :meth:`~coredis.Redis.cluster_addslotsrange`

- New in redis: 7.0.0



- .. versionadded:: 3.1.1





CLUSTER BUMPEPOCH
*****************

Advances the cluster config epoch.

- Documentation: `CLUSTER BUMPEPOCH <https://redis.io/commands/cluster-bumpepoch>`_
- Implementation: :meth:`~coredis.Redis.cluster_bumpepoch`



- .. versionadded:: 3.0.0





CLUSTER COUNT-FAILURE-REPORTS
*****************************

Returns the number of active failure reports active for a node.

- Documentation: `CLUSTER COUNT-FAILURE-REPORTS <https://redis.io/commands/cluster-count-failure-reports>`_
- Implementation: :meth:`~coredis.Redis.cluster_count_failure_reports`







CLUSTER COUNTKEYSINSLOT
***********************

Returns the number of keys in a hash slot.

- Documentation: `CLUSTER COUNTKEYSINSLOT <https://redis.io/commands/cluster-countkeysinslot>`_
- Implementation: :meth:`~coredis.Redis.cluster_countkeysinslot`







CLUSTER DELSLOTS
****************

Sets hash slots as unbound for a node.

- Documentation: `CLUSTER DELSLOTS <https://redis.io/commands/cluster-delslots>`_
- Implementation: :meth:`~coredis.Redis.cluster_delslots`







CLUSTER DELSLOTSRANGE
*********************

Sets hash slot ranges as unbound for a node.

- Documentation: `CLUSTER DELSLOTSRANGE <https://redis.io/commands/cluster-delslotsrange>`_
- Implementation: :meth:`~coredis.Redis.cluster_delslotsrange`

- New in redis: 7.0.0



- .. versionadded:: 3.1.1





CLUSTER FAILOVER
****************

Forces a replica to perform a manual failover of its master.

- Documentation: `CLUSTER FAILOVER <https://redis.io/commands/cluster-failover>`_
- Implementation: :meth:`~coredis.Redis.cluster_failover`







CLUSTER FLUSHSLOTS
******************

Deletes all slots information from a node.

- Documentation: `CLUSTER FLUSHSLOTS <https://redis.io/commands/cluster-flushslots>`_
- Implementation: :meth:`~coredis.Redis.cluster_flushslots`



- .. versionadded:: 3.0.0





CLUSTER FORGET
**************

Removes a node from the nodes table.

- Documentation: `CLUSTER FORGET <https://redis.io/commands/cluster-forget>`_
- Implementation: :meth:`~coredis.Redis.cluster_forget`







CLUSTER GETKEYSINSLOT
*********************

Returns the key names in a hash slot.

- Documentation: `CLUSTER GETKEYSINSLOT <https://redis.io/commands/cluster-getkeysinslot>`_
- Implementation: :meth:`~coredis.Redis.cluster_getkeysinslot`



- .. versionadded:: 3.0.0





CLUSTER INFO
************

Returns information about the state of a node.

- Documentation: `CLUSTER INFO <https://redis.io/commands/cluster-info>`_
- Implementation: :meth:`~coredis.Redis.cluster_info`







CLUSTER KEYSLOT
***************

Returns the hash slot for a key.

- Documentation: `CLUSTER KEYSLOT <https://redis.io/commands/cluster-keyslot>`_
- Implementation: :meth:`~coredis.Redis.cluster_keyslot`







CLUSTER LINKS
*************

Returns a list of all TCP links to and from peer nodes.

- Documentation: `CLUSTER LINKS <https://redis.io/commands/cluster-links>`_
- Implementation: :meth:`~coredis.Redis.cluster_links`

- New in redis: 7.0.0



- .. versionadded:: 3.1.1





CLUSTER MEET
************

Forces a node to handshake with another node.

- Documentation: `CLUSTER MEET <https://redis.io/commands/cluster-meet>`_
- Implementation: :meth:`~coredis.Redis.cluster_meet`







CLUSTER MYID
************

Returns the ID of a node.

- Documentation: `CLUSTER MYID <https://redis.io/commands/cluster-myid>`_
- Implementation: :meth:`~coredis.Redis.cluster_myid`



- .. versionadded:: 3.1.1





CLUSTER NODES
*************

Returns the cluster configuration for a node.

- Documentation: `CLUSTER NODES <https://redis.io/commands/cluster-nodes>`_
- Implementation: :meth:`~coredis.Redis.cluster_nodes`







CLUSTER REPLICAS
****************

Lists the replica nodes of a master node.

- Documentation: `CLUSTER REPLICAS <https://redis.io/commands/cluster-replicas>`_
- Implementation: :meth:`~coredis.Redis.cluster_replicas`







CLUSTER REPLICATE
*****************

Configure a node as replica of a master node.

- Documentation: `CLUSTER REPLICATE <https://redis.io/commands/cluster-replicate>`_
- Implementation: :meth:`~coredis.Redis.cluster_replicate`







CLUSTER RESET
*************

Resets a node.

- Documentation: `CLUSTER RESET <https://redis.io/commands/cluster-reset>`_
- Implementation: :meth:`~coredis.Redis.cluster_reset`







CLUSTER SAVECONFIG
******************

Forces a node to save the cluster configuration to disk.

- Documentation: `CLUSTER SAVECONFIG <https://redis.io/commands/cluster-saveconfig>`_
- Implementation: :meth:`~coredis.Redis.cluster_saveconfig`







CLUSTER SET-CONFIG-EPOCH
************************

Sets the configuration epoch for a new node.

- Documentation: `CLUSTER SET-CONFIG-EPOCH <https://redis.io/commands/cluster-set-config-epoch>`_
- Implementation: :meth:`~coredis.Redis.cluster_set_config_epoch`







CLUSTER SETSLOT
***************

Binds a hash slot to a node.

- Documentation: `CLUSTER SETSLOT <https://redis.io/commands/cluster-setslot>`_
- Implementation: :meth:`~coredis.Redis.cluster_setslot`







CLUSTER SHARDS
**************

Returns the mapping of cluster slots to shards.

- Documentation: `CLUSTER SHARDS <https://redis.io/commands/cluster-shards>`_
- Implementation: :meth:`~coredis.Redis.cluster_shards`

- New in redis: 7.0.0



- .. versionadded:: 3.2.0





CLUSTER SLAVES
**************

Lists the replica nodes of a master node.

- Documentation: `CLUSTER SLAVES <https://redis.io/commands/cluster-slaves>`_
- Implementation: :meth:`~coredis.Redis.cluster_slaves`


- Deprecated in redis: 5.0.0. Use :meth:`~coredis.Redis.cluster_replicas`






CLUSTER SLOTS
*************

Returns the mapping of cluster slots to nodes.

- Documentation: `CLUSTER SLOTS <https://redis.io/commands/cluster-slots>`_
- Implementation: :meth:`~coredis.Redis.cluster_slots`


- Deprecated in redis: 7.0.0. Use :meth:`~coredis.Redis.cluster_shards`






READONLY
********

Enables read-only queries for a connection to a Redis Cluster replica node.

- Documentation: `READONLY <https://redis.io/commands/readonly>`_
- Implementation: :meth:`~coredis.Redis.readonly`



- .. versionadded:: 3.2.0





READWRITE
*********

Enables read-write queries for a connection to a Reids Cluster replica node.

- Documentation: `READWRITE <https://redis.io/commands/readwrite>`_
- Implementation: :meth:`~coredis.Redis.readwrite`



- .. versionadded:: 3.2.0





CLUSTER MYSHARDID [X]
*********************

Returns the shard ID of a node.

- Documentation: `CLUSTER MYSHARDID <https://redis.io/commands/cluster-myshardid>`_

- Not Implemented


CLUSTER SLOT-STATS [X]
**********************

Return an array of slot usage statistics for slots assigned to the current node.

- Documentation: `CLUSTER SLOT-STATS <https://redis.io/commands/cluster-slot-stats>`_

- Not Implemented





    