DBAtlas · データベース運用アトラス

ERR SELECT is not allowed in cluster mode: SELECT is not allowed in cluster mode(クラスタモードでは SELECT は許可されない)

Redis

意味

Redis Cluster モードで、SELECT により別の論理データベース (DB インデックス) に切り替えようとした。クラスタモードはデータベース 0 のみをサポートし、複数の DB は使用できない。

原因

スタンドアロン Redis で SELECT により DB 0-15 を切り替えていたアプリケーションが、Redis Cluster への移行後も同じコマンドを送り続けている。クラスタアーキテクチャはデータをスロット単位で分散するため、複数 DB の概念はサポートされない。

対処方法

クラスタモードでは SELECT の呼出しを削除する。使用されるのは DB 0 のみ。論理的な分離が必要な場合はキープレフィックス (名前空間) を使用する (例: app1:key)。特定のキーをまとめて処理する必要がある場合は、ハッシュタグ ({user123}) を使用して同じスロットに配置する。アプリケーションの構成をクラスタ対応にする。

DBAtlas で開く →

同じデータベースの他の項目