sql >> データベース >  >> NoSQL >> Redis

Redisデータ構造のスペース要件

    それはあなたの見積もりをはるかに超えています。 ziplistが使用されていない(つまり、かなりの数のアイテムがある)としましょう。

    Redisリストは、従来の二重リンクリストです。アイテムごとに3つのポインター(prev、next、value)があります。

    ソートされたセットは、辞書とスキップリストです。辞書には、アイテムも3つのポインター(key、value、next)とともに格納されます。スキップリストのメモリフットプリントは、評価がより複雑です。各ノードは、1つのdouble(スコア)、2つのポインター(obj、backward)、およびnが1〜32のnのカップル(pointer、span value)を取ります。ほとんどのアイテムは1つしか取りません。または2組のカップル。

    つまり、zipリストとして表されていない場合、ソートされたセットは、最もオーバーヘッドの多いRedisデータ構造になります。リストと比較すると、メモリのオーバーヘッドは200%以上(つまり3倍)です。

    注:Redisでメモリ消費量を評価する最良の方法は、疑似データを使用して大きなリストまたは並べ替えられたセットを作成し、INFOを使用してメモリフットプリントを取得することです。




    1. 時刻をMongoDBに保存するにはどうすればよいですか?文字列として?任意の年/月/日を与えますか?

    2. LaravelRedisの構成

    3. MongoDBの管理に関する考慮事項

    4. MongoDB$typeクエリ演算子