blog

エンドレスチュートリアル - Redis - データ型

Redisは5つのデータ型をサポートしています。 Redisの文字列はバイト列です。Redisの文字列はバイナリセーフです。...

Nov 3, 2023 · 3 min. read
シェア

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 10 

undefined

リストの最大長は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"

Read next

IBM、スーパーコンピューターとクラウド技術の融合にさらに10億ドルを投じる

ブルームバーグの報道によると、IBMはワトソン開発部門にベンチャーキャピタル1億ドルを含む10億ドル以上を投資し、オリジナルのワトソン・コンピューター技術を利用してアプリケーションを開発するとのこと。ワトソン開発部門のスティーブン・ゴールド副部長は、新部門の設立について次のように述べています。

Nov 1, 2023 · 2 min read