なぜRedisは文字列の代わりに整数のデータベース番号を使用しますか?文字列を「実際の」整数にマッピングする小さな内部データ構造を維持することは自明ではないようです。なぜRedisは整数のデータベース番号を使用していますか?
答えて
RedisがDB名ではなくインデックスとして文字列を使用しないのは、Redisデータベースの目標と能力が辞書の外部レベルを提供しないということです:Redis辞書は多くの辞書に拡張できません。小さな数字(これはトレードオフ)であり、デザインごとにネストされたデータ構造を提供したくないので、これはちょうど「いくつかのネームスペース」であり、その結果数値の小さいインデックスを使用するのが最良の選択肢のように見えます。
DB名前を名前空間文字列接頭辞として扱うよりも、これがより良いアプローチである理由はありますか? – shazow
名前付きデータベースを持つことは、本当にredisの設計目標に適合しません。まず、パフォーマンスを最大にするように設計されたシステムでは、ほとんどのユーザーがDB 0にすべてを入れると、すべての呼び出しに文字列ルックアップを追加するのは良い考えではありません。
コアをシンプルに保つことが、もう1つの設計目標です。要求された新しいコマンドを、パフォーマンスの大幅な低下なしにクライアント上で既存のコマンドを組み合わせて実装できる場合、コアシステムに追加されません。名前付きデータベースが本当に必要な場合は、クライアントコードを更新して文字列を読み取って番号をredisに送信するのは簡単です。
"すべての呼び出しに文字列ルックアップを追加する" - 私が間違っていれば私を修正しますが、各 'SELECT'呼び出し(つまり、シンボル名を整数にマップする)のためにルックアップを行うだけでいいでしょうか? –
真ですが、データベースと接続の使い方に応じて、それと同等に近いことがあります。 –
- 1. なぜこの番号を整数にできないのですか?
- 2. SOAPはどのポート番号を使用していますか?
- 3. HTML5の入力タイプ=番号のみ符号なし整数を
- 4. データベース番号の自動番号付けまたはカスタム番号
- 5. Laravel:ページ番号はドロップダウンメニューを使用して番号を限定します
- 6. qsortを使用して符号なし整数をソート
- 7. 変数+データベースへの番号
- 8. SQL Serverの関数を使用してランダムな行番号を返します。
- 9. なぜこのコードは同じ番号を複数回出力しますか?
- 10. IOS *と#を使用して電話番号を使用して電話番号
- 11. マクロ展開で引数番号を使用していますか?
- 12. ドッカーが32768-65535のポート番号を使用するのはなぜですか?
- 13. 整形番号
- 14. なぜ2つの異なる整数を同じHEX番号に変換できますか?
- 15. PHPを使用して複数の番号にSMSを送信しますか?
- 16. 列番号と行番号を使ったコピー範囲(整数)vba
- 17. C++の符号なし整数と符号なし整数の違い
- 18. なぜコンテンツプロバイダはURIを使用し、データベースを使用しないのですか?
- 19. sedまたはgrepを使用して番号と番号を取得します。専用の文字列
- 20. なぜこのng-patternフィルタ番号は使用できませんか?
- 21. 32ビットプロセッサで符号付き整数と符号なし整数を使用して符号付き64ビット整数を作成する方法
- 22. 符号なし整数減算は動作を定義していますか?
- 23. なぜRust配列のインデックス番号としてu8を使用できないのですか?
- 24. データベースの最後の番号に基づいて連続番号を生成するアルゴリズムはありますか?
- 25. キーワードを使用してテキストファイルから番号を返します。
- 26. redisの開始番号を定義INCR
- 27. なぜRedis SortedSetはバランスツリーの代わりにスキップリストを使用しますか?
- 28. Pythonは私から番号のリストを取得しようとしています整数
- 29. ポアソンモデルの問題 - 整数番号
- 30. Sharepointの注文番号。整数?
redis devのリストに質問してください。 – bmargulies
私はここで答えを得ることができない場合、それは私の次のステップになります...しかし、私は可能な限りメーリングリストを避けようとします:P –
閉じるに投票した人々:私はこの質問が「意見、議論、議論、ポーリング、または議論の延長を要請するとは思っていません」と思っていますが、私はレディスが人気がないことを知っていますが、非常に狭い "。 –