Redisは5つのデータタイプをサポートしています。
文字列
Redisの文字列はバイトのシーケンスです。Redisの文字列はバイナリセーフであり、文字列の長さは特別な終端文字によって決定されるわけではありません。そのため、文字列には最大512MBまでの任意のコンテンツを格納することができます。
redis .1:6379> SET name "learnfk" OK redis .1:6379> GET name "learnfk"
上記の例では、SETとGETはRedisコマンド、nameはRedisで使用されるキー、learnfkはRedisに保存される文字列値です。
注:文字列値の最大長は512メガバイトです。
ハッシュ
Redisのハッシュはキーと値のペアの集合です。Redisのハッシュは文字列フィールドと文字列値のマッピングであり、オブジェクトの表現に使用されます。
redis 127.0.0.1:6379> HMSET user:1 username learnfk password
learnfk points 200
OK
redis 127.0.0.1:6379> HGETALL user:1
1) "username"
2) "learnfk"
3) "password"
4) "learnfk"
5) "points」
6) "200"上記の例では、ユーザーの基本情報を含むユーザーオブジェクトを保存するためにハッシュデータ型が使用されています。HMSETとHGETALLはRedisコマンドであり、user-1がキーです。
各ハッシュには最大2-1のフィールド値のペアを保存できます。
リスト
Redisのリストは、挿入順にソートされた文字列のリストです。Redisのリストの先頭または末尾に要素を追加することができます。
redis .1:6379> lpush tutoriallist redis (integer) 1 redis .1:6379> lpush tutoriallist mongodb (integer) 2 redis .1:6379> lpush tutoriallist rabitmq (integer) 3 redis .1:6379> lrange tutoriallist 0 10undefined
リストの最大長は2 -1 要素です。
設定
Redisセットは、順序のない文字列のコレクションです。Redisではデータの追加と削除が可能です。
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-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"