异常#

Redis 客户端引发的核心异常

exception redis.exceptions.AskError(resp)[source]#

从集群接收到的 ASK 错误指示的错误。当一个槽位被设置为 MIGRATING 时,节点将接受所有与该哈希槽位相关的查询,但前提是所查询的键存在,否则查询将使用 -ASK 重定向转发到迁移目标节点。

源节点:迁移到目标节点

获取 > ASK 错误 ask 目标节点 > ASKING 命令

目标节点:从源节点导入

asking 命令只影响下一个命令,任何操作在 asking 命令后都将被允许

exception redis.exceptions.AuthenticationError[source]#
exception redis.exceptions.AuthenticationWrongNumberOfArgsError[source]#

一个错误,指示发送到 AUTH 命令的参数数量错误

exception redis.exceptions.AuthorizationError[source]#
exception redis.exceptions.BusyLoadingError[source]#
exception redis.exceptions.ChildDeadlockedError[source]#

错误指示在 fork() 后子进程死锁

exception redis.exceptions.ClusterCrossSlotError[source]#

错误指示从集群接收到的 CROSSSLOT 错误。当请求中的键没有散列到同一个槽位时,就会产生 CROSSSLOT 错误。

exception redis.exceptions.ClusterDownError(resp)[source]#

从集群接收到的 CLUSTERDOWN 错误指示错误。默认情况下,Redis 集群节点在检测到至少有一个哈希槽位未覆盖(没有可用节点为其提供服务)时,将停止接受查询。这样,如果集群部分宕机(例如,一部分哈希槽位不再被覆盖),整个集群最终将变得不可用。一旦所有槽位都被覆盖,它将自动返回可用状态。

exception redis.exceptions.ClusterError[source]#

集群错误多次发生,导致命令执行 TTL 耗尽。

exception redis.exceptions.ConnectionError[source]#
exception redis.exceptions.DataError[source]#
exception redis.exceptions.ExecAbortError[source]#
exception redis.exceptions.InvalidResponse[source]#
exception redis.exceptions.LockError[source]#

获取或释放锁时发生的错误

exception redis.exceptions.LockNotOwnedError[source]#

尝试延长或释放不再拥有的锁时发生的错误

exception redis.exceptions.MasterDownError(resp)[source]#

从集群接收到的 MASTERDOWN 错误指示的错误。与 MASTER 的连接已断开,并且 replica-serve-stale-data 设置为“no”。

exception redis.exceptions.MaxConnectionsError[source]#
exception redis.exceptions.ModuleError[source]#
exception redis.exceptions.MovedError(resp)[source]#

从集群接收到的 MOVED 错误指示错误。发送到不服务此键的节点的请求将使用指向正确节点的 MOVED 错误重新播放。

exception redis.exceptions.NoPermissionError[source]#
exception redis.exceptions.NoScriptError[source]#
exception redis.exceptions.OutOfMemoryError[source]#
表示数据库已满。仅当以下情况之一发生时才会出现
  • Redis maxmemory-policy=noeviction

  • Redis maxmemory-policy=volatile* 并且没有可驱逐的键

有关更多信息,请参阅 Redis 中的内存优化。 # noqa

exception redis.exceptions.PubSubError[source]#
exception redis.exceptions.ReadOnlyError[source]#
exception redis.exceptions.RedisClusterException[source]#

RedisCluster 客户端的基类异常

exception redis.exceptions.RedisError[source]#
exception redis.exceptions.ResponseError[source]#
exception redis.exceptions.SlotNotCoveredError[source]#

此错误仅在连接池尝试获取由给定槽位覆盖的节点时发生。

如果引发此错误,客户端应丢弃当前节点布局,并尝试重新连接并刷新节点布局。

exception redis.exceptions.TimeoutError[source]#
exception redis.exceptions.TryAgainError(*args, **kwargs)[source]#

错误指示从集群接收到的 TRYAGAIN 错误。对不存在的键或在重新分片期间在源节点和目标节点之间拆分的键的操作将生成 TRYAGAIN 错误。

exception redis.exceptions.WatchError[source]#