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

Redisは大きな文字列を取得するのに時間がかかります

    Redisは、非常に大きなオブジェクトを格納するようには設計されていません。コレクション全体をRedisの単一の文字列に格納するのではなく、Redisリストを使用するか、オブジェクトのコンテナーとして設定する必要があります。

    さらに、ピクルスフォーマットはスペース用に最適化されていません...よりコンパクトなフォーマットが必要になります。プロトコルバッファ、MessagePack、またはプレーンJSONでさえ、おそらくこれに適しています。データを保存する前に、軽い圧縮アルゴリズムを適用することを検討する必要があります(Snappy、LZO、Quicklz、LZFなど)。

    最後に、パフォーマンスはおそらくネットワークに依存します。私のマシンでは、Redisから20 MBのオブジェクトを取得するには85ミリ秒かかります(3秒ではありません)。ここで、リモートサーバーを使用して同じテストを実行すると、1.781秒かかります。これは、この100 Mbit/sネットワークで予想されます。期間はネットワーク帯域幅に完全に依存します。

    最後のポイント:必ず最新のRedisバージョンを使用してください。大きなオブジェクトを処理するために多くの最適化が行われています。



    1. CODとCMLを使用して、株式データを予測するアプリケーションを構築する

    2. 一意のインデックスでのmongo3の重複-dropDups

    3. 複数の変数を持つrender_template

    4. ノード8でnode-redisを使用するutil.promisify