Redisにはどのようなデータ構造がありますか?


String(文字列)の説明:
  • stringタイプはバイナリで安全です.redisのstringは任意のデータを含むことができるという意味です.例えばjpgピクチャやシーケンス化されたオブジェクト;
  • stringタイプはRedisの最も基本的なデータ型であり、stringタイプの値は最大512 MBを格納することができる.

  • コマンドこまんど:setとgetの使い方:
    redis 127.0.0.1:6379> SET name "runoob"
    OK
    redis 127.0.0.1:6379> GET name
    "runoob"
    

    Hash(ハッシュ)紹介:
  • Redis hashはキー値(key=>value)対の集合である.
  • Redis hashはstringタイプのfieldとvalueのマッピングテーブルであり、hashは特にオブジェクトを格納するのに適している.

  • コマンド:HMSET,HGET用法:HMSETは2つのfield=>valueペアを設定し、HGETはfieldに対応するvalueを取得する
    redis> HMSET myhash field1 "Hello" field2 "World"
    "OK"
    redis> HGET myhash field1
    "Hello"
    redis> HGET myhash field2
    "World"
    

    List(リスト)紹介:
  • Redisリストは単純な文字列リストであり、挿入順に並べ替えられている.
  • リストのヘッダー(左)または末尾(右)に要素を追加できます.

  • コマンド:lpush lrangeの使い方:
    redis 127.0.0.1:6379> lpush runoob redis
    (integer) 1
    redis 127.0.0.1:6379> lpush runoob mongodb
    (integer) 2
    redis 127.0.0.1:6379> lpush runoob rabitmq
    (integer) 3
    redis 127.0.0.1:6379> lrange runoob 0 10
    1) "rabitmq"
    2) "mongodb"
    3) "redis"
    redis 127.0.0.1:6379>
    

    Set(集合)紹介:
  • RedisのSetはstring型の無秩序集合である.
  • 集合はハッシュテーブルによって実現されるので,追加,削除,検索の複雑さはいずれもO(1)である.

  • コマンド:sadd smembers使い方:sadd key member
    redis 127.0.0.1:6379> sadd runoob redis
    (integer) 1
    redis 127.0.0.1:6379> sadd runoob mongodb
    (integer) 1
    redis 127.0.0.1:6379> sadd runoob rabitmq
    (integer) 1
    redis 127.0.0.1:6379> sadd runoob 
    (integer) 0
    redis 127.0.0.1:6379> smembers runoob
    1) "redis"
    2) "rabitmq"
    3) "mongodb"
    

    Zset(整列集合)の説明:
  • Redis zsetはsetと同様にstringタイプ要素の集合であり、重複するメンバーは許されない.
  • とは異なり、各要素がdoubleタイプのスコアを関連付けます.redisは、集合内のメンバーをスコアで小さいものから大きいものに並べ替えるものです.
  • zsetのメンバーは一意ですが、スコア(score)は繰り返すことができます.

  • コマンド:zadd ZRANGEBYSCORE使い方:zadd key score member
    redis 127.0.0.1:6379> zadd runoob 0 redis
    (integer) 1
    redis 127.0.0.1:6379> zadd runoob 0 mongodb
    (integer) 1
    redis 127.0.0.1:6379> zadd runoob 0 rabitmq
    (integer) 1
    redis 127.0.0.1:6379> zadd runoob 0 rabitmq
    (integer) 0
    redis 127.0.0.1:6379> > ZRANGEBYSCORE runoob 0 1000
    1) "mongodb"
    2) "rabitmq"
    3) "redis"