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

キャッシュを再利用するか、メモリを直接使用するか

    Redisはリモートです データ構造サーバー。データをローカルメモリに保存するよりも確かに低速です(データをフェッチ/保存するためのソケットラウンドトリップが含まれるため)。ただし、いくつかの興味深いプロパティもあります:

    • Redisには、アプリケーションのすべてのプロセスからアクセスでき、場合によっては複数のノードで実行されます(ローカルメモリでは実現できないこと)。

    • Redisメモリストレージは非常に効率的で、別のプロセスで実行されます。ガベージコレクションされたメモリを持つプラットフォーム(node.js、javaなど)でアプリケーションを実行すると、はるかに大きなメモリキャッシュ/ストアを処理できます。実際には、非常に大きなヒープは、ガベージコレクションされた言語ではうまく機能しません。

    • Redisは、必要に応じてデータをディスクに保持できます。

    • Redisは単なるキャッシュではありません。さまざまなデータ構造、さまざまなアイテム排除ポリシー、ブロックキュー、pub / sub、アトミック性、Luaスクリプトなどを提供します...

    • Redisは、高可用性を実装するために、マスター/スレーブメカニズムを使用してそのアクティビティを複製できます。

    基本的に、同じデータを共有する複数のノードでアプリケーションをスケーリングする必要がある場合は、Redis(またはその他のリモートキー/値ストア)のようなものが必要になります。



    1. Jedis Redisのセマンティクスを変更しますか?

    2. 一部のキーに対してのみLRUエビクションポリシーをRedisに選択させるにはどうすればよいですか?

    3. MongoDB$sortByCount集約演算子

    4. MongoDBのidフィールドと_idフィールドの違い