Redis学習ノート:Redis概要

8575 ワード

一、NoSQLと関係型データベースの違い
NoSQL非関係型データベース:Redis、MongoDB、HBAseなど、Key-Valueストレージに基づいてコマンド操作を採用.
リレーショナル・データベース:Oracle、MySQL、DB 2、SQL Serverなど、テーブル構造に基づいて格納され、SQL操作が使用されます.
二、Redisの紹介
Redisはイタリア人Salvatore Sanfilippo(ハンドル名:antirez)が開発したメモリキャッシュデータベースです.Redisフルネーム:Remote Dictionary Server(リモート・データ・ウェア)
サービス)は、C言語で作成された、典型的なNoSQLデータベースサーバです.Redisは、String、Hash、List、Set、
Zset(Sorted Set).
三、Redisの特徴
メリット:
  • は非常に高性能です.Redisは毎秒10万の読み書き周波数をサポートします.
  • は、String、Hash、List、Set、Zsetなど多くのデータ型を含む豊富なデータ型をサポートしています.
  • 原子性:すべての操作は原子性である(一緒に成功するか、一緒に失敗する).
  • は、メモリデータをデータファイルに同期する永続化操作をサポートします.
  • は、トランザクション、メッセージングなどの機能を提供します.

  • 欠点:
  • メモリデータベースであるため、1台のマシンが格納するデータ量は、マシン自体のメモリサイズに依存します.Redis自体にはKeyの期限切れポリシーがあるが、
  • の事前見積りと節約が必要である.
    メモリ、メモリの増加が速すぎる場合は、定期的にデータを削除する必要があります.
  • 完全再同期を行う場合、rdbファイルを生成して転送する必要があるため、ホストのCPUが占有され、ネットワークの帯域幅が消費される.Redis 2.8のバージョンでは、部分的に再同期された
  • がありますが
    機能ですが、新しいオンラインのスペアなど、完全に再同期する可能性があります.
  • プロファイルを変更した後、ハードディスク(HDD)のデータをメモリにロードするのを再起動すると、時間がかかります.この過程でRedisはサービスを提供できない.

  • コメント:
    システムでは、通常Redisをデータキャッシュとして使用します.
    ≪クエリー・キャッシュ|Query Cache|emdw≫:最初のクエリーではデータベースからデータが取り出してキャッシュに入れられ、その後のクエリーではキャッシュからデータが読み出されます.
    キャッシュの追加/更新:ユーザーデータを検出してキャッシュに入れ、ユーザーに応答し、バックグラウンドでスレッドを開いてデータ処理を取ります.
    四、Redis常用データ型
    Redisでよく使われるデータ型は、String、Hash、List、Set、Zsetの5種類.
    String--文字列
    Stringは簡単なKeyValueタイプで、ValueはStringだけでなく、数字(数字タイプがLongで表される場合、encodingは整数であり、その他はすべて
    sdshdrは文字列として)、List、Set、Zsetに含まれる独立した要素タイプはRedis Stringタイプである.StringタイプのValueは最大512 MBです.
    Hash--辞書
    Hashは最もリレーショナル・データベース構造に近いデータ型であり、データベース内の1つのレコードまたはプログラム内の1つのオブジェクトをhashmapに変換してRedisに格納することができる.Memcachedでは
    構造化されたいくつかの情報はhashmapにパッケージ化され、クライアントがシーケンス化された後に、ユーザのニックネーム、年齢、性別などの文字列の値として格納されることが多い.
    Hashのキー値対個数は最大2^32−1(4294967295)個である.
    List--リスト
    Listははっきりとチェーンテーブルタイプ(両端チェーンテーブル)であり、主な機能はpush、pop、1つの範囲のすべての値を取得するなどであり、その中のKeyはチェーンテーブルの名前と理解できる.Redisでは、Listは
    は、LPUSHコマンドを使用してリストヘッダに要素を挿入したり、RPUSHコマンドを使用してリストの最後に要素を挿入したりするなど、Redis Stringのリストです.この2つのコマンドが
    1つが空のKeyに作用すると,新しいリストが作成される.リストの要素数は最大2^32−1(4294967295)個である.
    Set-コレクション
    Setは集合であり,集合の概念は重複しない値の組合せである.Redisが提供するSetデータ構造を利用して,いくつかの集合的なデータを格納することができる.RedisではSetがRedisです
    Stringの無秩序集合には重複要素は許されず,Setに対する操作には交差,並列,差分などがある.Setの要素数は最大2^32−1(4294967295)個である.
    ZSet(Sorted Set)--秩序化された集合
    Setと比較して、Sorted Setは、Set内の要素に重みパラメータscoreを追加し、セット内の要素をscoreで秩序化できるようにし、秩序化されたZsetについては、依然として
    SORTコマンドを使用して、ASC|DESCパラメータを指定してソートします.Zsetの要素数は最大2^32−1(4294967295)個である.
    五、Redis操作コマンド
    5.1、文字列操作
    set key value       //  value 
    get key             //  value 
    strlen key          //  value  
    incr key            // value 1
    incrby key i        // value i
    decr key            // value 1
    decrby key i        // value i
    append key value    //   key     value 

    5.2、ハッシュ操作
    hset key                         //    
    hmset key                    //    
    hget key                           //       
    hmget key    1    2              //       
    hlen key                             //      
    hkeys key                            //     
    hdel key                           //     

    5.3、リスト操作
    lpush key value                           //      (key      ,         )
    rpush key value                           //      
    lpop key                                  //         
    rpop key                                  //         
    lrem key count value                      //        value   
    lindex key index                          //  index   value 
    lrange key start end                      //         
    linsert key before|after             //    
    lset key index value                      //  index   value 
    llen key                                  //       

    5.4、集合操作
    sadd key value value     //       
    srem key value           //  value  
    scard key                //        
    smembers key             //      
    srandmember key count    //  count    
    sinter key1 key2         //      ,key1 key2  
    sunion key1 key2         //
    sdiff key1 key2          //  ,key1 ,key2  

    5.5、秩序ある集合
    zadd key score value       //       
    zrem key value             //    
    zcard key                  //    
    zrange key start end       //         (   )
    zrevrange key start end    //         (   )
    zrevrank key value         //  value  (   )
    zrank key value            //  value  (   )

    5.6、key操作
    keys pattern         //  key
    del key              //  key
    expire key time      //      ( )
    type key             //  value   
    rename key newkey    //  key  

    六、Redisファイルフォーマット
    Redisでは、フルデータとインクリメンタルリクエストの2つのファイル形式が使用されています.
    フルデータ:メモリのデータをディスクに書き込むことで、次回ファイルを読み込むときにロードしやすくなります.
    増分要求:メモリの中のデータを操作要求にシーケンス化して、ファイルを読み取ってreplayしてデータを得るために用いて、シーケンス化の操作はSET、RPUSH、SADD、ZADDを含む.
    備考:Redisのストレージはメモリストレージ、ディスクストレージ、logファイルの3つの部分に分けられ、プロファイルには3つのパラメータが構成されています.
    七、Redis応用シーン
    (1)セッションキャッシュ(SessionCache)
    (2)フルページキャッシュ(FPC)
    (3)キュー
    (4)ランキング/カウンタ
    (5)発行/購読
     
    参照先:
        https://blog.csdn.net/weixin_39671217/article/details/78021732