为什么要使用redis来做缓存呢?
redis是key-value的形式,map也是,可以用Map替代redis吗?
如果不能替代,有什么场景或需求是只有redis能实现的呢?
过去多啦不再A梦2017-04-28 09:06:05
キャッシュはローカルキャッシュと分散キャッシュに分かれます。 Java を例に挙げると、ローカル キャッシュは、組み込みのマップまたは guava を使用して実装されます。主な特徴は、jvm の破棄でライフ サイクルが終了することです。複数のインスタンスの場合は、それぞれが破棄されます。インスタンス 各キャッシュを保存する必要がありますが、キャッシュは一貫していません。
redis または memcached の使用は分散キャッシュと呼ばれます。複数のインスタンスの場合、各インスタンスはデータのキャッシュを共有し、キャッシュは一貫しています。欠点は、redis または memcached サービスの可用性を高く保つ必要があり、プログラム アーキテクチャ全体が比較的複雑であることです。
我想大声告诉你2017-04-28 09:06:05
Redis はキャッシュに数十ギガバイトのメモリを使用できますが、Map は通常、十分な大きさのデータを必要とするのは数ギガバイトだけです
Redis キャッシュは永続化でき、Map はメモリ オブジェクトであり、プログラムが再起動されるとすぐにデータが失われます
Redis は分散キャッシュを実装でき、Map はそれを作成したプログラム内にのみ存在できます
Redis は 1 秒あたり数百万の同時実行を処理でき、Map は単なる普通のオブジェクトです
Redisキャッシュには有効期限メカニズムがありますが、Map自体にはこの機能はありません
Redis には豊富な API があり、Map ははるかにシンプルです
phpcn_u15822017-04-28 09:06:05
1. Redis データは永続的に保存できますが、プログラムを再起動した後も一部のキャッシュを使用し続けることはできません。
2. 複数のマシンとプロセスが関与している限り、Map はそれを実現できません。
3. Redis には、ハッシュ セット リスト ソート セットなど、操作が簡単なデータ構造が多数あります。シナリオによっては、マップよりも操作が便利です
阿神2017-04-28 09:06:05
1. キャッシュに大量のコンテンツをロードする必要がある場合、起動時に時間がかかります。
2. JVM メモリが大きすぎるため、ハングしやすくなります。 #3. redis は C で書かれており、安定しています
4. 現在の redis はすでにクラスター モード、永続性などの機能をサポートしています。使いやすい
PHP中文网2017-04-28 09:06:05
redis は独立してデプロイできるため、Web サイトのコードが更新された後も redis によってキャッシュされたデータが残り、Web サイトが更新されるたびにローカル メモリが解放されます。
データは保存されます。ローカルメモリをプロジェクト間で共有できない場合は、キャッシュされたデータを複数のプロジェクト間で共有できます
ローカル キャッシュの表示や変更は簡単ではありません。Redis にはキャッシュ データを管理するための豊富なツールがあります