[Redis]Redisの基本データ構造

4041 ワード

key-value


keyによるvalueの取得または設定
SET key value
GET key
SET server:name "fido"

GET server:name
SETNX : SET-if-not-exists INCR:+1原子操作
SET connections 10
INCR connections =>11

INCR A =>1

キーに有効期限を設定TTL keyの生存時間を取得します.keyのvalueをセットするたびに、有効期限がリセットされます.
  • -2期限切れ
  • -1期限切れ
  • SET str "ASD"
    EXPIRE str 120 # 120s   
    TTL str #   str     

    list

    RPUSHリストの末尾にデータを挿入LPUSHリスト始点にデータを挿入LRANGElistのサブセットの下付き文字を返して0から始まります
    LRANGE friends 0 -1  #   python      list
    LLENは、listの長さを返します.LPOP list最初の要素を削除し、この要素(左が最初の要素)を返します.RPOP list最後の要素を削除し、この要素(右側が最後の要素)を返します.

    set


    重み付けリスト、無秩序、無秩序なのでsrangeというコマンドはありません.代わりにSMEMBERSはすべてのデータを返すために使用されます.SADD
    重複する要素は挿入に失敗します
    SADD data_set "aa"    // 1
    SADD data_set "data1" // 1
    SADD data_set "aa"    // 0,    aa,    
    SREM指定要素をsetから削除
    SREM data_set "data1"
    SISMEMBERsetの中の元素の1=>であるかどうか
    SISMEMBER data_set "aa"
    SMEMBERSは、setのすべての要素を返します.SUNION 2つ以上のsetが結合され、すべての要素のリストが返されます.SCARDはset長を返します

    zset(秩序set)


    scoreでソート
    データを追加するときはscoreを指定し、ソートに使用します.ソートはredisが自動的に実行します.
    ZADD superheros 1 ironman
    ZADD superheros 3 thor
    ZADD superheros 2 spiderman
    ZRANGE key start stop [WITHSCORES]keyの[start stop]のデータを返し、scoreでインクリメントソートし、インクリメントソート用ZREVRANGEwithscoresを加えるとscoreも出力されます
    > zrange superheros 0 -1
    1) "ironman"
    2) "spiderman"
    3) "thor"
    
    > zrange superheros 0 -1 withscores
    1) "ironman"
    2) 1.0
    3) "spiderman"
    4) 2.0
    5) "thor"
    6) 3.0
    ZREM削除zsetの1つまたは複数のメンバーは、無視されたまま削除に成功した数を返します.

    Hashes

    HSET key field value
    keyで指定されたドメインfieldの値をvalueに設定します.HMSET key field value field2 value2
    keyの複数のドメインを同時に設定するHGET key field
    keyのドメインの値を取得HMGET key field field2
    keyの複数のドメインの値を取得
    > HSET key field value
    (integer) 1
    
    > HSET key field1 value1
    (integer) 1
    
    > HGET key field
    "value"
    
    HMSET key field1 value1 field2 value2 field3 value3
    OK
    
    > HMGET key field1 field2 filed3 field4
    1) "value1"
    2) "value2"
    3) "value3"
    4) (nil)
    HSETの戻り値
    Sets field in the hash stored at key to value. If key does not exist, a new key holding a hash is created. If field already exists in the hash, it is overwritten.
    0変数が存在し、値が更新されました
    1変数は存在しません.作成されました.
    keyはオブジェクトを指していると理解され、このオブジェクトにはキー値のペアが含まれています.HINCRBY fieldのvalueに指定値を追加し、原子操作、fieldが存在しない場合は追加します.
    HSET key age 3
    HINCRBY key age 2 # age  5
    
    HINCRBY key num 1 # num   ,    1
    HDEL keyのfieldを削除
    HDEL key age
    HGETALL keyのすべてのfieldとvalueを取得
    > HGETALL key
    1) "field"
    2) "value"
    3) "field2"
    4) "value2"
    HLEN key
    指定したkey内のドメインの数を取得HEXISTS key field
    指定されたドメインにドメインが存在するかどうかは、0(存在しない)または1(存在する)を返します.field key
    keysと同様に、key内のすべてのfieldを返します.
    > hkeys key
    1) "field"
    2) "field2"
    
    HKEYS key
    キー内のすべてのvalueを返します
    > hvals key
    1) "value"
    2) "value2"

    Reference

  • Try Redis