Redis51は制御の下で、Javaのインタビューの質問をspring100、尋ね

1. Redisのは何ですか?それは長所と短所を概説しましたか?
Redisのスタンド:リモートDictionary.Server、基本的にキー・バリュー型メモリデータベース、それらのすべてが定期的にハードディスクに保存されているデータベースのデータへの非同期操作をフラッシュすることによって動作するロードするためのメモリでは、データベース全体、のようなmemcachedのを。それは純粋なメモリ操作であるため、Redisの性能は、キーと値DBの最速のパフォーマンスに知られており、2回目の読み出しおよび書き込み操作あたり10万回以上を扱うことができ、非常に良いです。

ただ、パフォーマンスアウトRedisのSE場所、単一の最大制限値に加えて、記憶された最大の魅力Redisのサポート、様々なデータ構造は、1メガバイトのセーブデータだけでなく、memcachedを、1ギガバイトであるため、多くの有用なRedisのを実装するために使用することができます機能。

のは、彼が彼のセットは、高性能のタグシステムを行うことができますし、軽量、高性能のメッセージ・キューイングサービスを実現するためにFIFO二重リンクリストをどうするリストだとしましょう。

また、Redisのは、また、キー値の預金の時間を期限切れに設定することができ、それはまた、使用にmemcachedの機能強化版として使用することができます。大量のデータを、物理メモリを制限読み書きによってRedisのデータベース容量の主な欠点は、高性能で使用することができないので、適切なシーンRedisのは、主にデータおよび高性能コンピューティングの操作の少量に制限します。

2、Redisのと比べるとmemcachedの利点は何ですか?
1.memcachedすべての値は、単純な文字列である、豊富なデータ型をサポートし、その代替としてのRedis

memcachedのRedisのは、はるかに高速にmemcachedをより速度よりもはるかに高速2.redis

3.redisそのデータRedisのは、自分のデータを永続化する持続することができます

3、Redisのデータ型のどのような種類をサポートするには?
文字列、リスト、セット、ソートセット 、ハッシュ

4、Redisの専攻は何物理リソースを消費しますか?
メモリ。

どのような戦略の種類のうち5、Redisのデータ?
1.noeviction:メモリの制限に達したエラーを返し、コマンドを実行するクライアントの試みは、より多くのメモリを使用することを可能にします。

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

3.volatile-LRU:キー回復試行(LRU)少なくとも使用されるが、唯一のキーセットで、その結果、新たに追加されたデータ・ストレージ・スペースを有効期限が切れ。

4.allkeysランダム:復元されたデータは、新たにストレージ容量を追加しているように、ランダムキー。

5.volatileランダム:ランダムなキー回復されたデータは、新たに追加された収納スペースですが、キーの有効期限のセットのみように。

6.volatile-TTL:とても新しく追加されたデータ・ストレージ・スペースという、短い回復キーの優先順位を期限切れのキーセットで回収し、生存時間(TTL)。

6、Redisの公式なぜWindowsのバージョンを提供していませんか?
Linuxの現在のバージョンは、Windowsのバージョンを開発することなく、非常に安定し、かつ利用者の大量でしたが、互換性の問題をもたらすので。

7は、最大容量を格納できる文字列型の値はどのくらいですか?
512M

8、なぜRedisのニーズは、メモリにすべてのデータを置きますか?
Redisのメモリへの最速の読み取りと書き込み速度データを得るため、および非同期データをディスクに書き込むことで。

そのため、迅速かつ特性の永続データをRedisの、メモリ内のデータならば、のディスクI / O速度は真剣にパフォーマンスに影響を与えるのRedis。

あなたが使用する最大メモリを設定した場合、メモリ今日安くなって、Redisのは、より多くの人気、データは数がメモリの制限に達した後に新しい値を挿入し続けることができない記録されています。

9、Redisのクラスタプログラムが行う方法をすべきですか?解決策は何ですか?
1.codis2。現在、最も使用されるクラスタープログラム、基本的で一貫性のあるtwemproxy効果が、それは新しいハッシュノードに古いを復元するために、ノードの数、ノードデータの変更をサポートしています。

彼の一貫性ハッシュアルゴリズムによって特徴付けRedisのcluster3.0自身のクラスタは、分散が、ハッシュスロットの概念、ならびにノードからのサポートノード設定されていません。具体的に説明する公式ドキュメントを参照してくださいします。

いくつかの例は無関係Redisのビジネスコード層の実装3.ため、コード層、ハッシュ計算の鍵は、その後、対応するデータを例示的な動作をRedisの。このようにハッシュコードは、比較的高いレベル、考え部と、ノード障害アルゴリズムの代替実施形態では、ショックの自動スクリプト・データ・リカバリ、例の監視、などの後を必要とします。

10、どのような状況下で、Redisのクラスタリング方式は、クラスタ全体が使用できない原因でしょうか?
レプリケーションモデルの非存在下での3つのノードのA、B、Cを持つクラスタ、ノードBに障害が発生した場合、クラスタ全体がそれがこの範囲5501から11000のスロットが利用可能でない欠く思うだろう。

11.のNoSQLとは何ですか?少数を示すために、あなたはのNoSQLデータベースを知っています。
A:①大規模な場合に非常に同時ユーザーアクセスの多くの墜落現場の表示され、根本的な原因は、リレーショナルデータベースです。リレーショナルデータベースは、パフォーマンスのボトルネックを持っている:低ディスクIOのパフォーマンス、スケーラビリティのボトルネック:複雑なデータの関係、貧しい人々スケーラビリティ、大規模なクラスタは容易ではありません。使用メモリストレージ、データ間の削除関係- - ②NoSQLない専用のSQLは、非リレーショナルデータベース、ディスクIOの数を減らすためにサプリメントなどのリレーショナルデータベースを参照するだけでデータを保存するために、関係が保存されていません。③NoSQL特性:特性:拡張可能かつスケーラブルな、柔軟なデータモデル;可用性データの大量下高性能。④共通のNoSQLデータベース:Redisの、memcacheの、HBaseの、MongoDBの 。

12、単にのRedisの意味について話
A:①Redis(リモート辞書サーバ)は、高性能のキーと値のペア(キーと値)データベースのオープンソースC言語の開発です。永続ストレージのために働くシングルスレッド機構、高性能、支持体の内部使用の必ずしも相関データベース②Redis間のデータはありません。③サポート文字列型の文字列、リストのリスト、ハッシュハッシュタイプ、集合型SETの種類、順序付きコレクションタイプsorted_setを含む複数のデータ・タイプ、。

13、Redisの何のシナリオがありますか?
:①ホットデータは、ホット商品、最新ニュース、ホット情報、ハイクラスのトラフィック情報のプロモーションとしてクエリ(メインシーン)を、スピードアップします。このようなスパイク、スナップ、キュー券など②適用されるタスクキュー、。③このようなリストなどのリアルタイム情報のクエリは、ウェブサイトのアクセス統計のすべての種類、バスの到着情報、オンライン情報(チャットルーム、ウェブサイト)、デバイス信号の数。このような制御コード、投票制御などの情報制御の④適時。⑤分散データ共有、別のセッションおよびメッセージキュー、分散ロックなどの分散クラスタアーキテクチャ。

14、文字列型と考慮事項の基本的な動作を概説
A:①格納されたデータ:個人データ、一般的に使用されるデータ記憶装置の最も単純なタイプ。データを保存するためにフォーマット:あなたのデータのためのストレージスペース。保存されたコンテンツ:通常の文字列は、文字列表示される場合、整数として、デジタル演算として使用することができます。②/変更データを追加します。セットキー値、データの取得を:、キーを取得したデータを削除します。delキーを追加/編集を複数のデータ:MSETキー1をvalue1 KEY2値2 ...、得るより多くのデータ:mgetはKEY1 KEY2 ...、データ収集文字数(文字列長):追記キー値:STRLEN鍵は、情報は、元の(オリジナルの追加情報に存在する、または新たな場合)の後に追加されます。内部ストレージにRedisのを③stringするデフォルトの文字列であり、操作クラスINCRの変化に直面したとき、DECRは、数値計算になります。すべての操作は、すべてのトラフィックアトミック、シングルスレッドのハンドルされているのRedis、コマンドが実行され、原因と同時データの影響を考慮する必要はありません。注:元のデータ値に移し、または説明する数値範囲のRedisの上限(はLong.MAX_VALUEの長いタイプのJavaのデータの最大値)を超えできない場合、データ値に従って動作します。

図15に示すように、基本的な動作及び注意事項の簡単ハッシュタイプ
A:①ストレージ要件:グループに格納されたデータ、容易な管理、一般的なストアオブジェクト情報の一連。ストレージ構造:キー複数のデータを格納するメモリ。データストレージのための基本となるハッシュテーブル構造。②の場合、より少ない数のフィールド、クラスの構造を最適化するストレージ構造のアレイと、より多くのフィールド、ストレージ構造はHashMapの構成を使用した場合。③/編集データを追加します。HSETキーフィールド値、データの取得:hgetキーフィールド、hgetallキー、デリートデータ:hdelはキーフィールド1 [フィールド2]、複数のデータを変更/追加します。hmsetキーフィールド1をvalue1フィールド2値2 ... 、 取得したデータを複数:キーフィールド1フィールド2 hmget ...、フィールドのハッシュテーブル番号取得:HLENキーを、指定したフィールドには、ハッシュテーブルに存在するかどうかを取得します:hexistsキーフィールド。③hashタイプの下の値のみを他のデータ型を格納することはできません、文字列を格納することができ、ネスティング現象は存在しません。データが取得されていない場合、対応する値(NIL)。1対-各ハッシュは2 ^ 32を記憶することができます。ハッシュタイプは、非常に近いデータ・ストレージ・オブジェクトの形、およびオブジェクトプロパティを追加および削除するための柔軟性にあります。しかし、ハッシュは乱用しないで、設計されたオブジェクトを大量に格納するように設計されていませんが、オブジェクトのリストとしてハッシュを使用することはできません。hgetall操作があまりにも内部フィールド場合、全体的なデータ効率を横断する、すべてのプロパティを取得することができそうなデータ・アクセスのボトルネックがあることがあり、非常に低いです。

限られたスペースのため、この記事ショーインタビューの質問の一部のみ、新株予約RedisのプラスVXの多数のインタビュー:13272413561

Redis51は制御の下で、Javaのインタビューの質問をspring100、尋ね
Redis51は制御の下で、Javaのインタビューの質問をspring100、尋ね
Redis51は制御の下で、Javaのインタビューの質問をspring100、尋ね

おすすめ

転載: blog.51cto.com/14587687/2483700