ストレージとキャッシュの戦略のうちのRedis

A. Redisの

    Redisのは、オープンソース(BSDライセンス)、データベース、キャッシュおよびメッセージングミドルウェアとして使用することができるメモリ・システムに格納されたデータ構造です
中国の公式アドレス:http://www.redis.cn/

 

文字列(文字列)、ハッシュ(ハッシュ)、リスト(一覧)、セット(集合)とZSET(ソートセット::順序付きコレクション)Redisのは、5つのデータ型をサポートしています

文字列(String)を

文字列があるRedisのあなたは、として理解することができる、最も基本的なタイプのMemcached まったく同じタイプ、キーに対応する

文字列タイプはバイナリセーフです。意味のRedis 文字列は、任意のデータを含めることができます。などのjpg 画像またはシリアル化されたオブジェクト。

文字列型であるRedisの基本データ型、文字列型は、最大値格納することができる512メガバイトを

ハッシュ(ハッシュ)

Redisのハッシュはキーである(キー=>値)ペア。

Redisのハッシュである文字列型のフィールドマッピングテーブルの、ハッシュは、特にオブジェクトを格納するのに適しています。

一覧(リスト)

Redisののリストは、文字列、ソート挿入順序の単純なリストです。あなたは(右)(左)リストの先頭または尾に要素を追加することができます

SET (コレクション)

Redisのセットである文字列順不同コレクションのタイプ。

コレクションは、検索の複雑さがあるので、追加、削除、ハッシュテーブルによって達成される O(1)

SADD コマンド

追加の文字列に要素をキーに対応するセットコレクション、成功リターン1 要素がコレクション内に返された場合は0

ZSET(SETソート:注文したコレクションを

RedisのZSET 設定同じもの文字列要素のコレクション型を重複メンバーを許可していません。

差があろう各要素に関連付けられているダブルスコアの種類。Redisのそれはメンバーの合格点のコレクションの大きな順に小さなにあります。

ZSET 部材のみでありしかし得点(スコア)が、繰り返すことができます

II。Redisのストレージ

    Redisのの申し出二つの記憶方法:RDB   のAOF

    RDBが永続した後、一時ファイルにデータを書き込むことで、データの回復を達成するために、一時ファイルで、以前のファイルを置き換えます

    AOF命令は、前方から後方にデータを復元し、データ復旧を実行する命令を渡すために、レコードに実行されます。

    RDBストレージはデフォルトのストレージ、少数で、同時性があるかどうかを気にしない、データがされていない、最高のセキュリティを失った、最小スペースを占領しました。分散方法でAOF、問題を処理する多数のデータに対応することができるが、それでもデータの損失が存在することになります

 

III。Redisのキャッシュ制圧戦略


1 揮発性-LRU :最も最近使用されたデータからデータ・セットの選択フェーズのセットの有効期限。

2 揮発性-TTLは:データ・セットの選択のセット有効期限から除外データを期限切れにします。

3 揮発性ランダム:任意に選択されたデータをデータセットからの有効期限を設定します。

4 揮発性-LFU :除去最低周波数データを使用するデータセットのセット有効期限から選択します。

5 AllKeys LRU- :最近使用された少なくともアウトデータセットの選択フェーズからデータ

6 AllKeys-LFU :除去最低周波数データを使用するデータセットから選びます。

7 AllKeysランダムデータセットから(:server.db [I] .dict 任意選択データアウト)

8 NO-enviction (追放):デフォルトのポリシーであり、排出データを禁止します。記憶手段は、新たなデータを収容するのに不十分である場合、新しい書き込み動作を用いて、ライン作業を進めることができる要求を継続することができない、説明する非envictionの失われないデータを確保することができるポリシー。

これらの8つは、に分けることができる 4 LRU LFU ランダムTTLの

フェーズアウト機構


1 )パッシブ方式(パッシブウェイ失敗したことが判明した場合、主キーがアクセスされる)、それを削除します。Redisのの実現にGET MGET HGET LRANGE それは、このような呼びます読み取りデータとしてすべてのコマンドに来るときexpireIfNeededをそれはそれを削除するために失敗した場合には、故障していないことを確認するために、データを読み取る前に存在していることを意味し、。
expireIfNeeded 別の関数の関数呼び出しpropagateExpireは、この関数は、公式削除、無効な主キーで使用され、放送の残りの部分を教えている、2つの宛先があります。AOFのファイルは、プライマリキーの失敗を削除します。この操作DELキーの標準的なコマンド形式の記録ダウン;他は現在に送られるRedisのすべてのサーバスレーブ、同じ失敗は、この操作に主キーを削除しますDELキー知らせるために、標準のコマンド形式スレーブが各失敗の主キーを削除します。
2 )正方法(アクティブ・ウェイ)定期的に削除する失敗を見つけ、検出します。ネガティブアプローチの欠点は、場合ということですキー遅延がアクセスされ、それはこれだけ積極的に、メモリ空間の多くを取るでしょう。

3 )削除するためのイニシアチブを取る:ときのメモリよりmaxmemory 構成起動パラメータによって決定されたポリシーをクリーンアップするためのイニシアチブを誘発、制限時間

のうちデータ量

それは、データ、それのうち適切な数の出ているので?

 

確かに多くの除去よりも、頻繁なトリガー除去戦略を回避するために、それぞれが、データのバッチを排除するという事実のうちデータのサイズや交換のサイズを決定するために、置換データボリュームなら

おすすめ

転載: www.cnblogs.com/bob-zb/p/12583195.html