为什么要用redis而不用map做缓存?
PHP中文网
PHP中文网 2017-04-28 09:04:05
0
5
1243

为什么要使用redis来做缓存呢?
redis是key-value的形式,map也是,可以用Map替代redis吗?
如果不能替代,有什么场景或需求是只有redis能实现的呢?

PHP中文网
PHP中文网

认证0级讲师

全員に返信(5)
过去多啦不再A梦

キャッシュはローカルキャッシュと分散キャッシュに分かれます。 Java を例に挙げると、ローカル キャッシュは、組み込みのマップまたは guava を使用して実装されます。主な特徴は、jvm の破棄でライフ サイクルが終了することです。複数のインスタンスの場合は、それぞれが破棄されます。インスタンス 各キャッシュを保存する必要がありますが、キャッシュは一貫していません。

redis または memcached の使用は分散キャッシュと呼ばれます。複数のインスタンスの場合、各インスタンスはデータのキャッシュを共有し、キャッシュは一貫しています。欠点は、redis または memcached サービスの可用性を高く保つ必要があり、プログラム アーキテクチャ全体が比較的複雑であることです。

いいねを押す +0
我想大声告诉你
  1. Redis はキャッシュに数十ギガバイトのメモリを使用できますが、Map は通常、十分な大きさのデータを必要とするのは数ギガバイトだけです

  2. Redis キャッシュは永続化でき、Map はメモリ オブジェクトであり、プログラムが再起動されるとすぐにデータが失われます

  3. Redis は分散キャッシュを実装でき、Map はそれを作成したプログラム内にのみ存在できます

  4. Redis は 1 秒あたり数百万の同時実行を処理でき、Map は単なる普通のオブジェクトです

  5. Redisキャッシュには有効期限メカニズムがありますが、Map自体にはこの機能はありません

  6. Redis には豊富な API があり、Map ははるかにシンプルです

いいねを押す +0
phpcn_u1582

1. Redis データは永続的に保存できますが、プログラムを再起動した後も一部のキャッシュを使用し続けることはできません。
2. 複数のマシンとプロセスが関与している限り、Map はそれを実現できません。
3. Redis には、ハッシュ セット リスト ソート セットなど、操作が簡単なデータ構造が多数あります。シナリオによっては、マップよりも操作が便利です

いいねを押す +0
阿神

1. キャッシュに大量のコンテンツをロードする必要がある場合、起動時に時間がかかります。
2. JVM メモリが大きすぎるため、ハングしやすくなります。 #3. redis は C で書かれており、安定しています
4. 現在の redis はすでにクラスター モード、永続性などの機能をサポートしています。使いやすい

いいねを押す +0
Ty80

redis は独立してデプロイできるため、Web サイトのコードが更新された後も redis によってキャッシュされたデータが残り、Web サイトが更新されるたびにローカル メモリが解放されます。
データは保存されます。ローカルメモリをプロジェクト間で共有できない場合は、キャッシュされたデータを複数のプロジェクト間で共有できます

ローカル キャッシュの表示や変更は簡単ではありません。Redis にはキャッシュ データを管理するための豊富なツールがあります

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート