Redisはリモートです データ構造サーバー。データをローカルメモリに保存するよりも確かに低速です(データをフェッチ/保存するためのソケットラウンドトリップが含まれるため)。ただし、いくつかの興味深いプロパティもあります:
-
Redisには、アプリケーションのすべてのプロセスからアクセスでき、場合によっては複数のノードで実行されます(ローカルメモリでは実現できないこと)。
-
Redisメモリストレージは非常に効率的で、別のプロセスで実行されます。ガベージコレクションされたメモリを持つプラットフォーム(node.js、javaなど)でアプリケーションを実行すると、はるかに大きなメモリキャッシュ/ストアを処理できます。実際には、非常に大きなヒープは、ガベージコレクションされた言語ではうまく機能しません。
-
Redisは、必要に応じてデータをディスクに保持できます。
-
Redisは単なるキャッシュではありません。さまざまなデータ構造、さまざまなアイテム排除ポリシー、ブロックキュー、pub / sub、アトミック性、Luaスクリプトなどを提供します...
-
Redisは、高可用性を実装するために、マスター/スレーブメカニズムを使用してそのアクティビティを複製できます。
基本的に、同じデータを共有する複数のノードでアプリケーションをスケーリングする必要がある場合は、Redis(またはその他のリモートキー/値ストア)のようなものが必要になります。