异常#
Redis 客户端引发的核心异常
- exception redis.exceptions.AskError(resp)[source]#
从集群接收到的 ASK 错误指示的错误。当一个槽位被设置为 MIGRATING 时,节点将接受所有与该哈希槽位相关的查询,但前提是所查询的键存在,否则查询将使用 -ASK 重定向转发到迁移目标节点。
- 源节点:迁移到目标节点
获取 > ASK 错误 ask 目标节点 > ASKING 命令
- 目标节点:从源节点导入
asking 命令只影响下一个命令,任何操作在 asking 命令后都将被允许
- exception redis.exceptions.ClusterCrossSlotError[source]#
错误指示从集群接收到的 CROSSSLOT 错误。当请求中的键没有散列到同一个槽位时,就会产生 CROSSSLOT 错误。
- exception redis.exceptions.ClusterDownError(resp)[source]#
从集群接收到的 CLUSTERDOWN 错误指示错误。默认情况下,Redis 集群节点在检测到至少有一个哈希槽位未覆盖(没有可用节点为其提供服务)时,将停止接受查询。这样,如果集群部分宕机(例如,一部分哈希槽位不再被覆盖),整个集群最终将变得不可用。一旦所有槽位都被覆盖,它将自动返回可用状态。
- exception redis.exceptions.MasterDownError(resp)[source]#
从集群接收到的 MASTERDOWN 错误指示的错误。与 MASTER 的连接已断开,并且 replica-serve-stale-data 设置为“no”。
- exception redis.exceptions.MovedError(resp)[source]#
从集群接收到的 MOVED 错误指示错误。发送到不服务此键的节点的请求将使用指向正确节点的 MOVED 错误重新播放。
- exception redis.exceptions.OutOfMemoryError[source]#
- 表示数据库已满。仅当以下情况之一发生时才会出现
Redis maxmemory-policy=noeviction
Redis maxmemory-policy=volatile* 并且没有可驱逐的键
有关更多信息,请参阅 Redis 中的内存优化。 # noqa
- exception redis.exceptions.SlotNotCoveredError[source]#
此错误仅在连接池尝试获取由给定槽位覆盖的节点时发生。
如果引发此错误,客户端应丢弃当前节点布局,并尝试重新连接并刷新节点布局。