A、NoSQLのとリレーショナルデータベースの違い
NoSQLの非リレーショナルデータベース:Redisの、MongoDBの、HBaseのキー値ベースのストレージのように、操作コマンドを使用して。
リレーショナルデータベース:SQL操作を使用して保存されたテーブル構造に基づいて、Oracle、MySQLの、DB2、SQL Serverの、など、。
二、Redisの紹介
メモリキャッシュデータベースの開発:イタリアのサルヴァトーレサンフィリッポ(antirez画面名)でのRedis。リモート辞書サーバー(リモートデータサービス:フルネームをRedisの
サービス)、ソフトウェアはCで書かれている、それはNoSQLのデータベース・サーバの典型的なものです。Redisのは、このような文字列、ハッシュ、リスト、セット、などをサポート豊富なデータタイプ、そのキーと値のストレージ・システムであり、
ZSET(ソートセット)。
三、Redisの特徴
利点:
- 高性能:Redisのは2回目の読み出しと書き込み周波数10万をサポートすることができます。
- 豊富なデータ型のサポートが含まれます:文字列、ハッシュ、リスト、セット、ZSET(ソートセット)、および他のデータ型を。
- 原子性:すべての操作は、(一緒に成功するか失敗する一緒に)アトミックです。
- 操作永続化サポート:データファイルにデータ・メモリを同期させます。
- これは、トランザクション、メッセージング、およびその他の機能を提供します。
短所:
- メモリデータベースので、データの量は、マシン自体のメモリサイズによって、単一のマシンに格納されています。Redisのキーの有効期限ポリシー自体が、それでも事前にし、保存を推定する必要があります
メモリは、メモリがあまりにも急速に成長している場合、あなたは定期的に削除データにする必要があります。
- 、再同期完全生成する必要とRDBのファイル転送のために、そのためには、ホストCPUを消費し、ネットワーク帯域幅を消費した場合。Redisの2.8バージョンでは、再同期の一部となっていますが、
関数が、そのような新しいオンラインバックアップマシンとして完全な再同期、があるかもしれません。
- 設定ファイルを変更した後、メモリに比較的長い時間をあなたのハードディスク上のデータをロードするために、再起動。このプロセスでは、Redisのは、サービスを提供することはできません。
備考:
システムでは、典型的にはRedisのを使用してデータ・キャッシュに使用。
クエリキャッシュ:キャッシュにデータベースからの時に最初のクエリデータを削除されますが、その後のクエリは、キャッシュデータから読み込まれます。
キャッシュにユーザーデータを検出した後、ユーザーに応じて、背景データは、処理スレッドのターンを取得:キャッシュを更新/追加します。
四、Redisの一般的なデータ型
5種類、すなわち文字列、ハッシュ、リスト、セット、ZSET(ソートセット)がある一般的なデータ型をRedisの:
String--文字列
文字列は、数値型ロング・エンコーディングで表すことができる場合にキー値の単純型、値だけでなく、文字列は、また(デジタルであってもよいことができ、整数である他に記憶されています
文字列としてsdshdr)、独立した要素のタイプは、両方のRedisの文字列型にリスト、セットおよびZSETに含まれます。512メガバイトまでの文字列値を入力します。
Hash--辞書
ハッシュ・データ・タイプは、レコードまたはデータベースのRedisにハッシュマップ・オブジェクトに格納されたプログラムとすることができるリレーショナルデータベース構造に最も近いです。Memcachedのでは、我々
情報の一部は、多くの場合、構造化のHashMapにパッケージ化されます、そして、クライアントは、ユーザのニックネーム、年齢や性別などの文字列(通常はJSON形式)の値のシーケンスとして保存されます。
2 ^ 32-1(4294967295)数までの数のハッシュキー。
List--リスト
リストには、主な機能は、プッシュポップ、キーが名前のリンクリストとして理解することができるの範囲のすべての値を取得するには、リストタイプ(ダブルエンドリスト)であることを意味します。Redisの、リスト上で
ヘッド素子を挿入するために、そのような使用LPUSH Listコマンドとして、挿入順にソートRedisの文字列のリストであり、RPUSH Listコマンドで使用される要素が尾を挿入します。ときにこれらの2つのコマンドを
一つは、新しいリストが出て作成され、空白のキーに作用します。2 ^ 32-1(4294967295)数までの要素数のリスト。
Set--コレクション
セットコレクションが異なる値の束の概念の組み合わせで、コレクションです。Redisのを使用して設定するデータ構造を使用すると、データセットの一部を記憶することができる、提供します。Redisのでは、セットのRedisです
文字列の順序なしコレクションは、その上のSet操作の交差点、労働組合、差があり、重複を許可していません。2 ^ 32-1(4294967295)数までの要素の数を設定します。
ZSET(ソートセット) - 順序付きコレクション
セットと比較して、ソートセットは、要素の集合であるコレクションの要素がスコアで発注することができるように、重み係数のスコアを追加し、それがZSETに発注されている、あなたはまだすることができ
それらをソートするDESCパラメータ| ASCを指定することで、SORTコマンドを使用します。ZSET最大2 ^ 32-1(4294967295)番号への要素の数。
五、Redisの操作コマンド
5.1、文字列操作
SETキー値 // セット値値 GETキーが // 値の値がGET キーがstrlenを // 長さの値を取得する キーがINCR // 値を追加します。1 キーI incrbyが // 値プラスI DECRキー // 値の保存に。1 キーI decrby // 値の保存I アペンドキー値 // 元のキー値の引数スプライシングの値
5.2、ハッシュ
HSETキーフィールド名フィールドの値が // 設定し、設定された フィールド名フィールドの値は、名前フィールドの値hmsetキーフィールド // 複数のセットは 、キーフィールド名をhget // フィールドの値を取得する 2 1キーフィールド名フィールド名をhmget // 複数のフィールドを取得します。値 HLENキー // フィールドの数を取得 hkeysキー // フィールド名を参照 HDELキーフィールド名は // フィールド名を削除します
5.3リストの操作
キー値LPUSH // 先頭からプット値を(リストが存在して挿入されたキーは、リストインサートを作成するために存在していない) RPUSHキー値 // 値に尾から キーLPOP // 先頭から要素を削除 RPOPキー // 尾から削除要素 lremキーCOUNT値 // 値の要素数は、値の削除に等しい キーインデックスがLINDEX // インデックス値の値を取得 キー開始終了LRANGEは、 // 要素が範囲指定を受ける 要素の値を挿入する後|前linsertキーを // 要素を挿入 LSETキーのインデックス値を //場所値インデックス値更新 LLENキーを // 要素数のリストを取得します
5.4、集合演算
キー値の値は、サッドは // コレクションに要素を追加 シレムキー値/ / value要素を削除 SCARDキーを // コレクション内の要素の数を取得する キーがsmembers // すべての要素を参照 srandmemberキー数 //は、乱数を取得数える シンターKEY1 KEY2 // 2セット交差点、KEY1とKEY2持っ SUNION KEY1 KEY2 // 組み合わせる繰り返すように二組とセットを sdiffのKEY1 KEY2 // セットの違い、そこKEY1、KEY2なしに
5.5、順序集合
キー値スコアZaddは // コレクションに要素を追加 zremキー値 // 削除要素は キーzcard // 要素の数は、 Zレンジザ・キー開始終了は 、// 要素が(大に小さな)範囲を指定します zrevrangeキー開始終了// 要素が範囲を指定します(小へ大)は、 キー値zrevrank // (小さなに大きな)取得値のインデックスを キー値zrank / (大に小)/取得する値のインデックスを
5.6、キー操作
パターンキー // チェックキー ・デル・キー // 削除キーが 期限切れになり、キータイム // (秒)有効時間設定 タイプのキーの //は、値の型の値を決定し 、リネームキーNEWKEYは // キー名を変更します
六、Redisのファイル形式
要求されたデータのフルと増分量:Redisのは、2つのファイル形式を使用しています。
データの完全な量:メモリ内のデータがディスクに書き込まれ、ファイルを読みやすくは次回にロードされます。
インクリメンタル要求:リプレイデータを取得したファイルを読み取るためのシーケンス動作要求へのデータメモリは、動作のシーケンスは、SET、RPUSH、SADD、ZADDが挙げられます。
注:三つの部分のメモリ・ストレージ、ディスク・ストレージおよびログファイルに保存されたRedisの、コンフィギュレーション・ファイルは、それを構成するための3つのパラメータを持っています。
七、Redisのアプリケーションシナリオ
(1)セッションキャッシュ(セッション・キャッシュ)
(2)フルページキャッシュ(FPC)
(3)キュー
(4)チャート/カウンタ
(5)パブリッシュ/サブスクライブ
から参照:
https://blog.csdn.net/weixin_39671217/article/details/78021732