私はまだRedisを使用していませんが、それについて聞いて、キャッシュ保存として試してみる予定です。
キャッシュストアデータベースとしてメモリを使用するRedisを聞いたので、データを格納するオブジェクトまたは辞書データ型として変数を使用する場合の違いは何ですか?好む:
var cache = {
key: {
},
key: {
}
...
}
Redisにはどのような利点がありますか?
Redisはリモートデータ構造サーバーです。ローカルメモリにデータを格納するよりも確かに遅いです(データを取得/格納するためのソケットラウンドトリップが必要になるため)。ただし、いくつかの興味深い特性ももたらします。
Redisは、アプリケーションのすべてのプロセスからアクセスできます。複数のノードで実行されている可能性があります(ローカルメモリが達成できないもの)。
Redisのメモリストレージは非常に効率的で、別のプロセスで実行されます。メモリがガベージコレクションされているプラットフォーム(node.js、Javaなど)でアプリケーションを実行する場合、より大きなメモリキャッシュ/ストアを処理できます。実際には、非常に大きなヒープは、ガベージコレクションされた言語ではうまく機能しません。
Redisは、必要に応じてディスク上のデータを保持できます。
Redisは、単なるキャッシュ以上の機能を備えています。さまざまなデータ構造、さまざまなアイテム削除ポリシー、ブロッキングキュー、pub/sub、原子性、Luaスクリプトなどを提供します。
Redisは、高可用性を実装するために、マスター/スレーブメカニズムを使用してアクティビティを複製できます。
基本的に、同じデータを共有する複数のノードでアプリケーションをスケーリングする必要がある場合、Redis(または他のリモートキー/値ストア)のようなものが必要になります。