なぜRedisは文字列の代わりに整数のデータベース番号を使用しますか?文字列を「実際の」整数にマッピングする小さな内部データ構造を維持することは自明ではないようです。なぜRedisは整数のデータベース番号を使用していますか?
答えて
RedisがDB名ではなくインデックスとして文字列を使用しないのは、Redisデータベースの目標と能力が辞書の外部レベルを提供しないということです:Redis辞書は多くの辞書に拡張できません。小さな数字(これはトレードオフ)であり、デザインごとにネストされたデータ構造を提供したくないので、これはちょうど「いくつかのネームスペース」であり、その結果数値の小さいインデックスを使用するのが最良の選択肢のように見えます。
DB名前を名前空間文字列接頭辞として扱うよりも、これがより良いアプローチである理由はありますか? – shazow
名前付きデータベースを持つことは、本当にredisの設計目標に適合しません。まず、パフォーマンスを最大にするように設計されたシステムでは、ほとんどのユーザーがDB 0にすべてを入れると、すべての呼び出しに文字列ルックアップを追加するのは良い考えではありません。
コアをシンプルに保つことが、もう1つの設計目標です。要求された新しいコマンドを、パフォーマンスの大幅な低下なしにクライアント上で既存のコマンドを組み合わせて実装できる場合、コアシステムに追加されません。名前付きデータベースが本当に必要な場合は、クライアントコードを更新して文字列を読み取って番号をredisに送信するのは簡単です。
"すべての呼び出しに文字列ルックアップを追加する" - 私が間違っていれば私を修正しますが、各 'SELECT'呼び出し(つまり、シンボル名を整数にマップする)のためにルックアップを行うだけでいいでしょうか? –
真ですが、データベースと接続の使い方に応じて、それと同等に近いことがあります。 –
- 1. SOAPはどのポート番号を使用していますか?
- 2. データベース番号の自動番号付けまたはカスタム番号
- 3. qsortを使用して符号なし整数をソート
- 4. C++の符号なし整数と符号なし整数の違い
- 5. 符号なし整数減算は動作を定義していますか?
- 6. Sharepointの注文番号。整数?
- 7. なぜコンテンツプロバイダはURIを使用し、データベースを使用しないのですか?
- 8. Pythonは私から番号のリストを取得しようとしています整数
- 9. カスタムプラグインを使用せずにJekyllの番号を整形する
- 10. C符号なし整数が負の値を指定していますか?
- 11. rake db:レポートのバージョン番号を移行しないのはなぜですか?
- 12. Java整数の整数が32ビットまたは64ビットをすべて使用しないのはなぜですか?
- 13. なぜArray.Lengthは整数ではなく、整数ではない
- 14. 行番号はNotepad ++で正規表現を使用していますか?
- 15. なぜFFT関数は整数を返しますか?
- 16. ページ番号を使用して
- 17. コールバックテスト番号を使用して
- 18. TStringListのAddObjectを整数で使用していますか?
- 19. NSInputStreamは、使用可能なバイト数の符号なし整数の最大値を返します。
- 20. 関数はハッシュ番号を計算しますが、正確には何を行い、なぜですか?
- 21. SQL Serverの整形番号
- 22. なぜデータベース行タプルの整数に「L」というサフィックスがありますか?
- 23. なぜ整数エラーを使用するのですか?長い長い権利
- 24. データベースから番号を確認してください
- 25. 使用されていないランダムなdosieid番号
- 26. debug_backtrace()に行番号が含まれないのはなぜですか?
- 27. なぜApplication.get_Caller(Type.Missing)は負の整数を返しますか?
- 28. 電話番号は文字列または整数として保存する必要がありますか?
- 29. 符号なし整数から符号付き整数への変換または逆の変換
- 30. 番号を数えます。 XSLT 1.0の空ではないノードセット
redis devのリストに質問してください。 – bmargulies
私はここで答えを得ることができない場合、それは私の次のステップになります...しかし、私は可能な限りメーリングリストを避けようとします:P –
閉じるに投票した人々:私はこの質問が「意見、議論、議論、ポーリング、または議論の延長を要請するとは思っていません」と思っていますが、私はレディスが人気がないことを知っていますが、非常に狭い "。 –