Redis-汎用命令編

3317 ワード

下一篇:Redis-データ型篇
文書ディレクトリ
  • Redis-汎用命令編
  • Redis概要
  • Redis-汎用命令操作
  • keyって何?
  • keyに対するいくつかの一般的な操作?
  • 1. keyの自己状態制御に関する動作:
  • 2. keyに対する時効性関連操作:
  • 3. keyのクエリー取得に関するアクション:
  • 4. keyの他の操作:
  • Redis-汎用命令編
    Redisの概要
    RedisはC言語で開発された高性能キー値対(key -value)メモリデータベースであり、データベース、キャッシュ、メッセージミドルウェアなどとして使用することができる.
    特長
  • はメモリデータベースとして、その性能は非常に優秀で、データはメモリの中に記憶して、読み書き速度は非常に速くて、同時10 W QPS(毎秒クエリー回数)をサポートして、単一プロセスの単一スレッド、スレッドは安全で、IO多重メカニズムを採用します.
  • 豊富なデータ型、文字列、ハッシュ、リスト、集合、秩序化集合などをサポートし、データの持続化をサポートします.メモリのデータをディスクに保存し、再起動時にロードできます.
  • 主従複製、哨兵、高利用可能、分布式ロックとして使用可能.メッセージ・ミドルウェアとして使用でき、パブリッシュ・サブスクリプションをサポートします.

  • Redis-汎用コマンド操作
    keyって何?
    前編で述べたデータ型とは異なり、Redisにおけるvalue値のタイプvalue共通データ構造タイプ:string、list、hash、set、sorted_setkeyは、Redisに保存されているデータRedis key-value をkeyで取得することができる文字列である.
    redisのkeyはバイナリで安全です.これは、空の文字列を含む任意のバイナリ値をkeyとして使用できることを意味します.
    key値の値は一般的に長すぎず、データの中でこのようなkeyを検索する計算コストが高く、メモリを消費します.しかし、短すぎることはできません.有名な見解を持っているほうがいいです.
    keyの一般的な操作は?
    1.keyの自己状態制御に関する操作:
    指定キーの削除
    del key //    1     0
    

    キーが存在するかどうかを取得
    exists key //    1      0
    

    keyタイプの取得
    type key  //       key  value          
    

    2.keyの時効性に関する操作:
    時効性の問題:
    キャッシュ雪崩:ある期間のキャッシュ中のkey集団が失効し、大流量が直接データベースにアクセスし、データベースの圧力が大きすぎて潰されることを指す.expire key seconds解決:キャッシュ時間はランダムで、できるだけ分散させ、同時に失効しないようにします.一般的には、大人気のデータキャッシュ時間の設定は長く、それほど人気のない設定は短くなります.
    キャッシュ破壊:非常にホットなデータを指し、絶えず高同時アクセスされ、このkeyが時効の瞬間、大流量がキャッシュを貫通してデータベースに打たれると、データベースが潰されます.
    解決:これらの非常にホットなkeyは、persist keyのように期限切れに設定され、他の方法は( : SETNX )のように後で議論されます.
    キャッシュ・スルー: ID -1などのデータベースに存在しないデータを調べます.
    解決:空の値をキャッシュし、データベースクエリが空の場合もキャッシュに配置し、短い有効期限expire key seconds、例えば60 sを設定します.
    指定キーに有効期間を設定する
    expire key seconds //         1     0
    
    pexpire key milliseconds //     ...
    
    expireat key timestamp // EXPIREAT      EXPIRE   ,     key       。      EXPIREAT            UNIX    。
    
    pexpireat key milliseconds-timestamp //    key       UNIX         
    

    keyの有効時間の取得 key , : -2 key , -1
    ttl key  //      
    
    pttl key //       
    

    切り替えkeyの時効性は永久
    persist key //     1     0
    

    3.keyのクエリーに関するアクションを取得するには、次の手順に従います.
    すべてのキーを取得
    keys pattern  //     
    

    patternマッチング規則* ? []
    コマンド#コマンド#
    紹介する
    keys *
    すべてをクエリーし、空の場合(empty list or set)
    keys it*
    itで始まるすべての
    keys *ame
    クエリーはすべてameで終わります
    keys ??me
    すべての前の2つの文字をクエリーして任意で、後ろはmeで終わります
    keys nam?
    クエリーはすべてnameで始まり、最後の文字は任意です.
    keys n[nm]e
    クエリーはすべてnで始まり、eで終わり、真ん中にアルファベット、nまたはmが含まれます.
    4.keyの他の操作:
    keyに名前を変える
     rename key newkey   //     ,  key   newkey   ,   key     ,      。
     
     renamenx key newkey  //    newkey     ,  key     newkey 。
    

    すべてのkeyをソート
    sort key  //            ,              
    

    Redisでランダムにキーを返す
    RANDOMKEY