Redis-data-types
Redis-データ型
Redisは5種類のデータ型をサポートしています。
文字列
Redis文字列は一連のバイトです。 Redisの文字列はバイナリセーフです。つまり、特殊な終端文字によって決定されない既知の長さを持っています。 したがって、1つの文字列に最大512メガバイトを格納できます。
例
redis 127.0.0.1:6379> SET name "finddevguides"
OK
redis 127.0.0.1:6379> GET name
"finddevguides"
上記の例では、 SET と GET はRedisコマンド、 name はRedisで使用されるキー、 finddevguides はRedisに保存されている文字列値です。
注-文字列値の最大長は512メガバイトです。
ハッシュ
Redisハッシュは、キーと値のペアのコレクションです。 Redisハッシュは、文字列フィールドと文字列値の間のマップです。 したがって、オブジェクトを表すために使用されます。
例
redis 127.0.0.1:6379> HMSET user:1 username finddevguides password
finddevguides points 200
OK
redis 127.0.0.1:6379> HGETALL user:1
1) "username"
2) "finddevguides"
3) "password"
4) "finddevguides"
5) "points"
6) "200"
上記の例では、ハッシュデータタイプを使用して、ユーザーの基本情報を含むユーザーのオブジェクトを格納します。 ここで、 HMSET、HGETALL はRedisのコマンドであり、 user − 1 はキーです。
すべてのハッシュは、最大2 ^ 32 ^-1つのフィールドと値のペア(40億を超える)を保存できます。
リスト
Redisリストは、単に文字列のリストであり、挿入順でソートされています。 ヘッドまたはテールのRedisリストに要素を追加できます。
例
redis 127.0.0.1:6379> lpush tutoriallist redis
(integer) 1
redis 127.0.0.1:6379> lpush tutoriallist mongodb
(integer) 2
redis 127.0.0.1:6379> lpush tutoriallist rabitmq
(integer) 3
redis 127.0.0.1:6379> lrange tutoriallist 0 10
1) "rabitmq"
2) "mongodb"
3) "redis"
リストの最大長は2 ^ 32 ^-1要素です(4294967295、リストあたり40億を超える要素)。
Sets
Redisセットは、文字列の順序付けられていないコレクションです。 Redisでは、O(1)時間の複雑さでメンバーの追加、削除、およびメンバーの存在をテストできます。
例
redis 127.0.0.1:6379> sadd tutoriallist redis
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist mongodb
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers tutoriallist
1) "rabitmq"
2) "mongodb"
3) "redis"
注-上記の例では、 rabitmq が2回追加されますが、セットの一意のプロパティにより、1回だけ追加されます。
セットのメンバーの最大数は2 ^ 32 ^-1です(4294967295、セットあたり40億を超えるメンバー)。
ソートセット
Redis並べ替えセットは、文字列の繰り返しのないコレクションであるRedisセットに似ています。 違いは、ソートされたセットのすべてのメンバーがスコアに関連付けられていることです。スコアは、ソートされたセットを最小のスコアから最大のスコアの順に並べるために使用されます。 メンバーは一意ですが、スコアは繰り返される場合があります。
例
redis 127.0.0.1:6379> zadd tutoriallist 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE tutoriallist 0 1000
1) "redis"
2) "mongodb"
3) "rabitmq"