ASK: ASK slot ip:port (クラスタリダイレクト)
Redis意味
Redis Cluster でスロットが別のノードへ移行中であり、要求されたキーが一時的に移行先ノードにある可能性がある。サーバーはこの要求に限りクライアントを移行先ノードへリダイレクトする (一時的なリダイレクト)。
原因
リシャーディング中に移行中のスロット内ですでに転送されたキーへのアクセス。MOVED とは異なり恒久的ではなく、その時点でのみ適用される。
対処方法
クラスタ対応のクライアントは ASK リダイレクトを自動で処理する: 移行先ノードに ASKING コマンドを送って要求を再試行するが、スロットマップは恒久的には更新しない。適切なクライアントライブラリを使い、redis-cli では -c フラグを使う。リシャーディングが完了すると、リダイレクトは MOVED となり恒久的になる。
同じデータベースの他の項目
- MISCONFMISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist to disk(RDB スナップショットをディスクに保存できない)
- CROSSSLOTCROSSSLOT Keys in request don't hash to the same slot(キーが同じスロットにハッシュされない)
- MOVEDMOVED slot ip:port (クラスタリダイレクト)
- NOSCRIPTNOSCRIPT No matching script. Please use EVAL(一致するスクリプトがない)
- EXECABORTEXECABORT Transaction discarded because of previous errors(以前のエラーによりトランザクションを破棄)
- NOPERMNOPERM this user has no permissions to run the command or access one of the keys(コマンド実行またはキーアクセスの権限がない)
- ERR value is not an integer or out of rangeERR value is not an integer or out of range(値が整数でないか範囲外)