プロジェクト内でキャッシュはどのように使用されますか? キャッシングを使用する理由 キャッシュを誤って使用するとどのような影響がありますか?

面接の質問

プロジェクト内でキャッシュはどのように使用されますか? キャッシングを使用する理由 キャッシュを誤って使用するとどのような影響がありますか?

面接官の精神分析

インターネット企業ならこの質問をしなければなりませんが、キャッシュすら知らない人がいたら恥ずかしいです。

キャッシュについて尋ねる場合、最初に思いつく質問は、プロジェクトがどこでキャッシュを使用しているかということです。なぜそれを使うのでしょうか?必要ありません、いいですか?使用後にどのような悪影響が生じる可能性がありますか?

これは、キャッシュの背後に何か考えがあるかどうかを確認するためのものです。キャッシュを愚かに使用するだけで、面接官に適切な答えを与えることができない場合、面接官はあなたに良い印象を持っておらず、あなたが普段あまり考えていないと考えているはずです。ただ知っておいてください。何をするか。

面接の質問の分析

プロジェクト内でキャッシュはどのように使用されますか?

これは、独自のプロジェクトのビジネスと組み合わせる必要があります。

キャッシングを使用する理由

キャッシュを使用する主な目的は 2 つあります。それは、高パフォーマンス高同時実行です。

ハイパフォーマンス

このようなシナリオを想定すると、操作があり、リクエストが来て、mysql をいろいろ操作して、半日で結果がわかる、600ms かかります。ただし、この結果は次の数時間は変わらない可能性があります。あるいは、変わったとしてもすぐにユーザーにフィードバックする必要はありません。それで、このとき何をすべきでしょうか?

キャッシュ、600ミリ秒のトスの結果をトス、キャッシュにスロー、キーは値に対応、次回誰かがそれをチェックするとき、600ミリ秒の間mysqlのトスを使用せず、キャッシュから直接、キーを介して値をチェックし、 2ミリ秒以内に完了します。300 倍優れたパフォーマンス。

つまり、複雑な操作と時間のかかるチェックが必要で、今後も大きな変化はないと判断される一部の結果については、読み取りリクエストが多数あるため、結果を直接キャッシュに置き、後でキャッシュを直接読み取ると良いでしょう。

高い同時実行性

mysql のような重いデータベースは、高い同時実行性でプレイできるように設計されていないため、プレイすることはできますが、自然なサポートは良好ではありません。mysql のスタンドアロン サポートに到達した場合、 警察に通報するのは簡単です2000QPS 。

したがって、システムがある場合、ピーク時には 1 秒あたり 10,000 件のリクエストが発生し、mysql スタンドアロン マシンは間違いなく停止します。現時点ではキャッシュをアップロードすることしかできません。キャッシュには大量のデータを置き、mysql は置かないでください。キャッシュ機能はシンプルです。端的に言えば、キーと値の操作です。1 台のマシンでサポートされる同時実行性は、1 秒あたり数万、数十万に達します。高い同時実行性も簡単にサポートします。単一のマシンが実行する同時実行性は、単一の mysql マシンの同時実行性の数十倍です。

キャッシュはメモリ上で実行され、メモリは自然に高い同時実行性をサポートします。

キャッシュを使用するとどのような悪影響がありますか?

一般的なキャッシュの問題には次のようなものがあります。

おすすめ

転載: blog.csdn.net/chang384915878/article/details/86747957
おすすめ