Redisでは、KEYS commandを使用しないことをお勧めします。それはなぜそうですか?その時間の複雑さはO(N)なのでそれですか?それ以外の理由があります。なぜKEYSはRedisで使用しないことをお勧めしますか?
答えて
はい。
時間の複雑さは非常に悪いです。 N
がO(N)
であることは、データベース内のキーの総数であり、フィルタパターンで選択されているキーの数ではありません。したがって、これは本番データベースにとっては非常に大きな数字になる可能性があります。
さらに悪いことに、同時に1つのコマンドしか実行できないため(Redisはマルチスレッドではありません)、他のものはすべてそのKEYSが完了するまで待たなければなりません。
いいえ。しかし、SMEMBERSコマンドはO(N)でも使えます。ここでNは集合内のキーの数(データベース全体ではない)であり、Nの最大値は2^32-1であり、これは問題にはなりません。私は正しいですか? – Jsmith
はい、セットが巨大でない限り(2^32セットのメンバーに達する前にデザインを再考する必要があります)。 – Thilo
ありがとうございます。 Redisはシングルスレッドなので、一度に1つのコマンドしか実行できないと言っています。しかし、それは時間多重化によって他のコマンドを同時に処理することはありませんか?したがって、KEYSコマンドが完了するまで他のコマンドが待機する必要はありません。参照してください:http://stackoverflow.com/questions/10489298/redis-is-single-threaded-then-how-does-it-do-concurrent-io – Jsmith
- 1. なぜCursorAdapterでautoRequeryを使用することをお勧めしますか?
- 2. なぜsetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)を使用することをお勧めしますか?
- 3. MongoDBのドキュメントでDBREFを使用しないことをお勧めするのはなぜですか?
- 4. なぜgunicorn_djangoはもうお勧めしないのですか?
- 5. 複数の継承を使用することをお勧めしないのはなぜですか?
- 6. super()を使用することをお勧めしますか?
- 7. Luceneを使用することをお勧めしますか?
- 8. Vscodeをrootとして実行することをお勧めしないのはなぜですか?
- 9. ボタンをお勧めします..もしお勧めですか?
- 10. なぜFontAwesomeはCDNリンクの代わりに.jsスクリプトを使用することをお勧めしますか?
- 11. なぜPlayのApacheのconfガイドはProxyPreserveHostを使用することをお勧めしますか?
- 12. なぜtslintはモジュールを許可しないことをお勧めしますか?
- 13. なぜUIでフラグメントを保持しないことをお勧めしますか?
- 14. vb.netモジュールを使用することをお勧めします
- 15. JavaScriptでループ内に関数を作成することをお勧めしないのはなぜですか?
- 16. オブジェクトリテラルをハッシュテーブルとして使用することをお勧めしますか?
- 17. EmberJsモデルの場合、なぜ `init`メソッドをオーバーライドしないことをお勧めしますか
- 18. Dialogクラスを直接インスタンス化することをお勧めしないのはなぜですか?
- 19. Angular 4インデックスページにCSSファイルを追加することをお勧めしないのはなぜですか
- 20. なぜprintstackTraceはATGではお勧めできませんか?
- 21. サロゲートキーで逆インデックスを使用することをお勧めしますか? (Oracle)
- 22. WCFサービスでセルフトラッキングエンティティを使用することをお勧めしますか?
- 23. UAVロボットでシングルボードコンピュータを使用することをお勧めしますか?
- 24. ウェブサイトで$ _SERVER ['DOCUMENT_ROOT']を使用することをお勧めしますか?
- 25. アニメーションで5-6スレッドを使用することをお勧めしますか?
- 26. アクションヘルパーでbrowserhostory.pushを使用することをお勧めしますか?
- 27. Google App Engineではなくweb2pyフレームワークの使用をお勧めしますか?
- 28. 興味のないワトソンの会話には、キャッチオールインテンツを使用することをお勧めしますか?
- 29. MassTransitを使用しているWebアプリケーションで受信エンドポイントをホストすることをお勧めしないのはなぜですか?
- 30. django-crontabを実行しないことをお勧めします
http://stackoverflow.com/questions/32603964/scan-vs-keys-performance-in-redis/32604218#32604218 –