0

redisのちょっと初心者...

Redis の奇妙な動作に気付きました..redis をローカルで実行しているときに、'keys *' コマンドを使用すると、システム内のすべてのキーを取得\表示できます。これは問題なく、ドキュメントに従っています。

aws で Elasticache\cluster モードで redis を実行し、コマンド 'keys *' を使用すると、3 つの reds サーバーすべてで '1) "ElastiCacheMasterReplicationTimestamp"' のみが取得されます。不足している情報を見つけるために他のコマンドを試しましたが、役に立ちませんでした。私たちのアプリ\サーバーは正常に動作しているように見えるので、何かが正常に動作していますが、何がどこで? ドキュメントを読みましたが、これについては何も見つかりませんでした。

誰でも説明できますか?どうもありがとう。

4

2 に答える 2

0

アプリの構成を確認して、ElasticCache セットアップを指していることを確認することをお勧めします。Redis クラスターと ElasticCache は別物です。したがって、keys コマンドをサポートするかどうかは関係ありません。ElasticCache が keys コマンドをサポートしていない場合、Redis 互換サーバーとして、キーの不完全なリストではなく、エラーが返されます。

キーに有効期限が設定されている場合、その時点で有効期限が切れているため、キーが表示されなかった可能性があります。ただし、別のサーバーと通信している可能性や、単にエラーを飲み込んでいる可能性もあります。私たちはそれを刈る方法がありません。

ただし、info コマンドとそのサブコマンドを使用して、info commandstatsコマンドが実際に実行されていることを確認することができます。アプリが使用するコマンドが表示されない場合、アプリはそのアプリと通信していません。

于 2016-09-05T19:02:39.717 に答える
0

このKEYSコマンドは、Redis クラスターではサポートされていません。KEYSコマンドを単一の Redis インスタンスにのみ送信できます。

実稼働環境でコマンドを使用することはお勧めできませんKEYS。特に、Redis にキーが多すぎる場合 (Redis が長時間ブロックされます)。

Redis クラスター内のすべてのキーを取得する必要がある場合は、自分で実装する必要があります。例があります。

于 2016-09-05T02:25:59.173 に答える