Redisの一般的なデータ型と永続化メカニズム

3752 ワード

概要
Redisは「key-value」型データ向けの分散型NoSQLデータベースシステムで、**String、hash、list、set、socket set**の5種類のデータ型フォーマットをサポートしています.
  • 文字列(String)
  • Redisの文字列はバイトシーケンスです.一般的な操作コマンドにはget、setなどがあります
  • リスト(list)
  • Redisリスト知識文字列リストは、挿入順にソートされます.Redisリストのヘッダまたは末尾に要素を追加したり、キューとして使用したりできます.
  • ハッシュ/ハッシュ
  • Redisハッシュは、キー値ペアの集合です.Redisハッシュは、文字列フィールドと文字列値との間のマッピングですが、フィールド値は文字列のみであり、他のタイプはサポートされません.したがって、オブジェクトを表すために使用されます.アプリケーションシーン:ユーザの基本情報等を記憶する.
  • 無秩序集合タイプ(set)
  • redisのsetはStringタイプの無秩序な集合であり、set要素は最大2の32次方-1要素を含むことができる.set集合タイプにより、n個のkey間の並列集合、交差、差集合などを迅速に取り出すことができる.アプリケーションシーン:2つのQQ番号の共通の友达の数を取り出します.
  • 秩序化集合タイプ(sorted set)
  • setと同様にsorted setもstringタイプ要素の集合であり、重複要素のない文字列の集合である.エレメントは秩序化されているので、秩序化された集合を使用すると、非常に速い速度(O(log(N))でエレメントを追加、削除、更新することができ、ソートも得意です.≪適用シーン|Apply Scene|emdw≫:すべてのユーザーの投票数が最も高い上位10位を取得します.
    なぜ永続化するのか
    Redisデータを再利用したり、システム障害を防止したりするためには、Redisのデータをディスク領域に書き込む必要があります.つまり、永続化です.
    RDB持続化とAOF持続化
    Redisは2つの異なる持続化方法を提供した.
  • RDB永続化(Reidsのメモリ内のデータベース記録タイミングdumpをディスク上のRDB永続化とする原理)
  • .
  • AOF(append only file)永続化(Reidsの操作ログを追加でファイルに書き込む原理)
  • .
    RDB持続化
    RDBはRedisのデフォルトの永続化方式である.Redisのプロファイルが見つかりました:redis.conf
    #         ,Redis             ,     BGSAVE  。
    # save <seconds> <changes>
    #         save     ,         ,Redis      BGSAVE  ,  :900300       1060       10000              
    save 900 1
    save 300 10
    save 60 10000
    

    AOF(append only file)持続化
    Redisでconf構成では、次のように設定されています.
    # redis    AOF  ,   no  yes  AOF   
    appendonly no
    # AOF  
    appendfilename "appendonly.aof"
    # AOF       ,always    Redis       fsync      ,           redis   ;everysec          fsync,               ;no                  fsync,Linux      30       
    # appendfsync always
    appendfsync everysec
    # appendfsync no
    
    #      BGREWRITEAOF ,     yes           fsync,         ,      IO    ,         。redis    no  
    no-appendfsync-on-rewrite no   
    #   AOF             AOF       ,  BGREWRITEAOF  。  
    auto-aof-rewrite-percentage 100  
    #  AOF    BGREWRITEAOF      ,       Reids              BGREWRITEAOF。  
    auto-aof-rewrite-min-size 64mb  
    # Redis    ,               ()
    aof-load-truncated yes
    

    Redis4.0 RDB-AOFハイブリッド永続化フォーマットが追加され、この機能がオンになった後、AOF書き換えによって生成されたファイルはRDBフォーマットのコンテンツとAOFフォーマットのコンテンツを同時に含み、RDBフォーマットのコンテンツは既存のデータを記録するために使用され、AOFフォーマットのメモリは最近変化したデータを記録するために使用される.これにより、Redisは、RDBの永続化とAOFの永続化の利点を同時に兼ねることができる(書き換えファイルを迅速に生成したり、問題が発生した場合にデータを迅速にロードしたりすることができる).