一般的な操作コマンドの基本型のRedis

一般的な操作コマンドの基本型のRedis

特長:

  • データの間には必要ありませんリンク
  • 仕事へのシングルスレッドのメカニズムの内部使用
  • 高性能
  • 複数のデータ型をサポートしています
    1. 文字列型String
    2. リストタイプリスト
    3. ハッシュタイプの地図
    4. セットコレクション型
    5. SortedSet型の順序付きセット
  • 持続性のサポート

シナリオ

  • ホット商品、最新ニュース、ホットIT高トラフィック情報:のような、ホットデータは、クエリをスピードアップするために。
  • タスクキューなど;:スパイク、購入、チケットなどが挙げられます。
  • インスタント情報照会など;:リーダーボード。
  • 適時情報制御など;:コード、投票コントロール。
  • データ共有を分散;など:のような分散アーキテクチャセッション。
  • メッセージキュー
  • 分散ロック

基本データ型:文字列

文字列型のための単一のメモリ空間512メガバイト

文字列の基本的な操作

  • データを追加または変更

    set key value
  • データを取得します

    get key
  • データを削除

    del key
  • (デフォルトでは秒単位で)有効期限を設定します

    expire key second
  • 初期値に追加情報バック

    append key value
  • /編集した複数のデータを追加します。

    mset key1 value1 key2 value2...
  • より多くのデータを取得

    mget key1 key2 ...
  • 文字列の長さを取得します。

    strlen key
  • セットキーライフサイクルライフサイクル管理

    setex key seconds value           (秒)
    psetex key millisexxonds value     (毫秒)
  • キー設定の規則

    データベーステーブル - 主キー - 1フィールド

      テーブル名 プライマリキーの名前 主キー フィールド名
    EG1 注文 ID 443523454
    EG2 equire ID 435432543 タイプ
    EG3 ニュース ID 45435454 タイトル

基礎となるデータの種類:ハッシュ

  • ストレージ要件:格納されたデータ・レイアウト、容易な管理、一般的なアプリケーションストレージオブジェクト情報の一連
  • ストレージ構造:データのキーと値のペアの複数を記憶するメモリ
  • ハッシュタイプ:データストレージのための基本となるハッシュテーブル構造

ハッシュ収納スペースをRedisの

ハッシュストレージ構造の最適化

  • 少ない数のフィールド場合、ストレージ構造のアレイは、クラスの構造を最適化します
  • HashMapの構造を使用して、より多くのフィールド、ストレージ構造の場合

基本操作のハッシュタイプ

  • データを変更/追加

    hset key field value
  • データを取得します

    hget key field 
    hgetall key
  • データを削除

    hdel key field [field2 ...]
  • 複数のデータを追加または削除

    hmset key field1 value1 field2 value2 ...
  • より多くのデータを取得

    hmget key field1 field2 ...
  • フィールドの数のハッシュテーブルを取得します。

    hlen key
  • ハッシュテーブルを取得するために指定したフィールドの存在

    hexists key field
  • ハッシュテーブルで使用されるフィールドの値やフィールド名を取得します

    hkeys key
    hvalues key
  • 指定したフィールドのデータが数値の範囲指定された値を大きくするために提供されます

    hincrby key field increment
    hincrbyfloat key field increment
  • キー値のフィールドが存在する場合、その後何も操作が存在しない、それに付加されていません

    hsetnx key field value

データ操作の注意ハッシュタイプ

  • データが取得されない場合、文字列に格納されたハッシュ値の唯一のタイプは、店は、ネストされた現象が存在しない場合、他のデータ型を許可され、対応する値(ゼロ)

  • 各ハッシュキー記憶された上限
    $$
    2 ^ {32} -1
    $$
    キーと値のペア

  • 非常にオブジェクト型の形式で格納されたハッシュに近く、および削除オブジェクトのプロパティに柔軟性。しかし、ハッシュが設計したオブジェクトを大量に保存しないように設計され、虐待を覚えてすることはできませんが、オブジェクトリストとしてハッシュを使用することはできません

  • あまりにも多くの内部フィールドは、全体のデータが非効率的で横断、それはデータアクセスのボトルネックになることができればhgetall操作は、すべてのプロパティを取得することができます

シナリオ

  • カートの設計と実装を買い物に電気供給業者のウェブサイト

基本データ型:リスト

  • データストレージ要件:複数のデータを格納し、データを順次ジョンを識別キーに格納されています
  • ストレージ構造が必要:複数のデータを記憶するメモリ、及びデータが順番に反射させることができます
  • タイプリスト:二重リンクリストを使用して実装データ記憶基礎となる構造を複数記憶

収納スペースの種類をリスト

リストタイプは、二重にリンクされたリストに格納されています

基本的な操作の一覧を表示

  • データを変更/追加

    lpush key value1 value2 [value3] ...   //从list链表左侧添加
    rpush key value1 value2 [value3] ...   //从list右侧添加
  • データを取得します

    lrange key start stop       //指定链表起始结束位置中的value
    //在获取未知长的的list类型的时候,想查看所有的value可以使用   -1表示倒数第一个    lrange key start -1
    lindex key index            //获取链表中指定位置的值
    llen key                    //获取链表的长度
  • 取得して削除したデータ

    lpop key
    rpop key
  • 取得および削除指定された時刻データ(ブロックデータ収集)

    blpop key1 [key2] timeout        //指定时间内取出并移除key值对应的value,若timeout超时仍未取出则返回空值(nil)   若本来没有   其他客户端在等待的时候添加了这个key的value则做操作    任务队列
    brpop key1 [key2] timeout
  • 指定されたデータを削除します

    lrem key count value

リスト型データ取り扱い上の注意

  • リストは2 ^ 32-1までのデータ要素の制限された総容量、データ列型に格納されています
  • インデックスのコンセプトを持つリストが、通常はキューエンキューデキュー操作、またはスタックのスタックポップ操作の形で運用データの形で行われます
  • すべてのデータ収集動作を終了インデックスは次のように設定され-1
  • データを操作することができるリストをページング、情報は、データベースクエリのロードリストから第1ページ、第2ページ、及び付加データは、典型的には

基礎となるデータの種類:セット

  • ストレージ要件は、クエリの面でより高い効率を提供し、大量のデータを保存します
  • ストレージ構造:大量のデータを格納することが可能な、効率的な内部ストレージメカニズム、クエリに簡単に
  • セットタイプ:ハッシュ・ストレージ構造は、同一の、唯一のストレージ・キーが格納されていない値(ゼロ)であり、NULL値が許可されていません

ベースの学習は、ストレージスペースの種類を設定するのRedis

内部に記憶された文字列型、ハッシュ・ストレージ構造の順不同のコレクションを設定し、したがって追加ストレージ構造、検索、削除の複雑さはO(1)であります

設定の基本的な操作

  • 独自のデータを追加します。

    sadd key value
  • すべてのデータが格納されます

    smembers key
  • データを削除

    strem key member1 [member2]
  • データの総量のコレクションを取得します。

    scard key
  • コレクションが指定されたデータが含まれているかどうかを決定します

    sismember key member
  • コレクション内の指定されたデータのランダムな番号を取得

    srandmember key [count]
  • ランダムなデータセットとアウトセットデータの取得

    apop key
  • クロス、そして、差の二組

    sinter key1 [key2]
    sunion key1 [key2]
    adiff key1 [key2]
  • 二つの交差点のセット、および指定されたコレクションに設定記憶さの違い

    sinterstore destination key1 [key2]
    sunionstore destination key1 [key2]
    sdiffstore destination key1 [key2]
  • 指定されたデータは、ターゲットセットに元のセットから移動され

    smove source destination member

注意事項

  • データを追加した場合、設定されたタイプは、すでにだけ維持するために、セット内に存在する、重複データを許可していません。

  • 同じハッシュ・ストレージ構造を使用して設定するが、空間ハッシュ値に格納することができないが有効になっています

基本データ型:にSortedSet

  • ストレージ要件:データの順序がパフォーマンスデータを表示するために助長している、あなたはそれが彼らの特性に応じてソートすることができる方法を提供する必要があります

  • ストレージ構成:データの並べ替えを保存することができます

  • ストレージタイプ:ソートフィールドは、セットのストレージ構造に添加してもよいです

基本操作

  • データを追加します

    zadd key scorel member [score2 member2]
  • すべてのデータの取得

    zrange key start stop [witchscores]
    zrevrange key star stop [witchscores]
  • データを削除

    zrem key member [member ...]
  • 条件付きクエリデータ

    zrangebyscore key min max [withscores] [limit]
    zrevrangebyscore key max min [withscores]
  • データを削除します

    zremrangebyrank key start stop   //start stop 表示索引的开始结束位置
    zremrangebyscore key min max     //min max表示排序的最小到最大位置
  • データ量のコレクションを取得します。

    zcard key
    zcount key min max
  • セット交差点や組合運営

    zinterstore destination numkeys key [key ...]
    zunionstore destination key [key ...]

おすすめ

転載: www.linuxidc.com/Linux/2019-11/161580.htm