8つのRedisの一般的な面接の質問は、Webフロントエンドのインタビューが要求されます!

Redisの(フルネーム:リモート辞書サーバーのリモート辞書サービス)は、メモリの持続性に基づいて、ANSI C、サポートネットワークで書かれたオープンソースの使用は、タイプ、キーと値のデータベースをログに記録し、多言語のAPIを提供することができます。Webフロントエンドの仕事になり、多くの求職者は、RedisのフロントエンドWeb関連の問題を尋ねられます特にBRTクラス名の企業では、次の私は、Redisの一般的な面接の質問と回答を共有しましょう。

1は、Redisのはに比べて利点は何ですかmemcachedの?

  1. すべての値は、memcachedの単純な文字列、その代替としてのRedis、豊富なデータ型をサポートします。

  2. Redisのは、はるかに高速にmemcachedをより高速化します。

  3. Redisのは、自分のデータを永続化することができます。
    ここに画像を挿入説明
    どのような戦略の種類のうち2、Redisのデータ?

noeviction:メモリの上限に達するとエラーを返し、コマンドを実行するクライアントの試みがより多くのメモリを使用できるようにする(書き込みコマンドのほとんどが、DELおよび少数の例外)。

allkeys-LRU:キー回復試行(LRU)少なくとも用い、その結果、新たに追加されたデータ・ストレージ・スペース。

揮発性-LRU:キー回復試行(LRU)少なくとも使用されるが、キーセットの期限が切れだけで、とても新しく追加されたデータ・ストレージ・スペースという。

allkeysランダム:データは、新たにストレージ容量を追加して回収されたように、ランダムキー。

揮発性ランダム:ランダムなキー新たに追加されたデータ・ストレージ・スペースの回復が、唯一のキーの有効期限のセットの中のように。期限切れのキーセットで回収し、生存時間(TTL)短い回復キーの優先順位なので、その新たに追加されたデータ・ストレージ・スペース:揮発性-TTL。

3、Redisのは、シングルスレッドか、またはマルチスレッド?利点は何ですか?

Redisのは、シングルスレッドであるが、Redisの6のリリース後に、それは実際にマルチスレッドのサポートです。Redisのは、マルチスレッド二つの利点であります:

1)シングルスレッドRedisのIOパフォーマンスのボトルネックは、主に、我々は、最適化の方向にあるように、ネットワークIOパフォーマンスを改善することで、ネットワークによって消費されます。

2)少なくとも2倍以上の性能を高めるために導入IO特性Redisの6をマルチスレッド。Redisのプロトコルのマルチスレッド部分のみ読み取りおよび書き込みおよびネットワークデータの解析するために使用され、コマンドの実行は、依然としてシングルスレッドです。

4、コピーから生じることになる主な問題点をRedisの?

マスターノードがダウンしたら、マスターのアドレスのアプリケーション側を変更する必要が、あなたはまた、ノードからのすべての新しいプライマリノードを命じコピーする必要がありながら、1)、ノードは、マスターノードに昇格され、全体のプロセスは、人間の介入を必要とします。

そして、書き込み2)マスターノードは、限られたスタンドアロンです。

3記憶容量)がマスタノード単一のマシンによって制限されます。

ノードを開始PSYNCから、中断後のRedisレプリケーション:4)欠点の元のコピーは、次のような以前のバージョンでより顕著であろう。同期が今回成功していない場合は、フルバックアップを実行するための主なライブラリはミリ秒または秒カトンレベルをもたらすことができる一方で、全額が、同期されます。

メモリにすべてのデータを置くため5.なぜRedisのニーズ?

Redisのメモリへの最速の読み取りと書き込み速度データを得るため、および非同期データをディスクに書き込むことで。そのため、高速でRedisのデータ永続化機能。真剣にあなたがメモリ内のデータを入れていない場合は、ディスクI / O速度はRedisののパフォーマンスに影響を与えます。メモリ今日安くなって、Redisのは、ますます人気になるだろう。

あなたが使用する最大メモリを設定した場合、データが記録されている数は、メモリの制限に達した後に新しい値を挿入し続けることができません。

6.どのようなRedisのパーティショニングの実装?

クライアント・パーティションは、クライアントが、データが格納されていることを決めた又はRedisのRedisのノードからノードもの読み取った、です。ほとんどのクライアントは、クライアントのパーティションを実装しています。クライアントがエージェントにリクエストを送信し、エージェントがデータを書き込むか、データを読み取るためにどのノードを決めることを演技のパーティション手段。

パーティショニングは、Redisのインスタンスの要求をルールとのRedisの応答に応じてクライアントに結果を返すエージェント判定する。Redisのプロキシをmemcachedのは、任意のクライアントは、ランダムRedisの例を要求する(クエリルーティング)手段、RedisのRedisの正しいノードに次に転送要求をルーティングTwemproxyクエリが実行されます。

Redisのクラスタがなく、直接別のRedisのRedisのノードの1つのノードから転送された要求に対して、しかし、クライアントの正しいRedisのノードに直接リダイレクトの助けを借りて、クエリのルーティングのハイブリッド形態を実現します。

7、Redisの永続的なデータ・キャッシングとどのように展開しますか?

Redisのは、一貫したハッシングダイナミック膨張容積の減少を利用して、キャッシュの使用状況として使用する場合。Redisのは、永続的なストレージとして使用されている場合、あなたはそれが決定されると、ノードの数は変更されません、固定キー・ツー・ノードマッピング関係を使用する必要があります。データは実行時にシステムの再バランシング、および現在のRedisのクラスタにのみ行うことができますのためにそうでない場合(つまり、Redisのノードが動的に変化である)を使用する必要があります。

8、Redisのと他のキーと値のストアは、違いは何ですか?

Redisのは、より複雑なデータ構造を有しており、他のデータベースの進化経路とは異なるそれらにアトミック操作を提供します。一方、Redisのデータ型は、追加の抽象化を必要とせずに、プログラマに対して透過的、基本的なデータ構造に基づいています。Redisのメモリで実行されているが、高速な読み取りと書き込みメモリは、異なるデータセットをトレードオフするとき、データがハードウェアメモリの量よりも大きくはならないように、ディスクに保存することができます。あなたが内部のRedis非常に複雑な問題の多くを行うことができますので、インメモリ・データベースのもう一つの利点は、同じ複雑なデータ構造に比べて、ディスク上の非常に簡単なメモリで動作します。彼らはランダムアクセスを必要としないので、一方、そのコンパクトディスクフォーマットの面で、追加の方法を生成します。

もっとRedisの顔の質問と回答については、あなたは私が定期的に技術的な記事や雇用市場分析、あなたを助ける速いエントリを公開従うことができます。

公開された702元の記事 ウォン称賛75 ビュー14万+

おすすめ

転載: blog.csdn.net/xiaoxijing/article/details/105149302