Redisコマンド操作中国語マ...login
Redisコマンド操作中国語マニュアル
著者:php.cn  更新時間:2022-04-12 14:07:28

Redisのデータ型


Redis は、string (文字列)、hash (ハッシュ)、list (リスト)、set (セット)、zset (sorted set: 順序付きセット) の 5 つのデータ型をサポートします。


String (string)

string は、Redis の最も基本的な型であり、1 つのキーが 1 つの値に対応するものと理解できます。

文字列型はバイナリセーフです。これは、redis 文字列には任意のデータを含めることができることを意味します。たとえば、jpg画像やシリアル化されたオブジェクトなど 。

文字列型は Redis の最も基本的なデータ型で、キーは最大 512MB を保存できます。

redis 127.0.0.1:6379> SET name "w3cschool.cc"
OK
redis 127.0.0.1:6379> GET name
"w3cschool.cc"

上記の例では、Redis の SET および GET コマンドを使用しました。キーは名前で、対応する値は w3cschool.cc です。

注: 1つのキーには最大512MBを保存できます。


Hash (ハッシュ)

Redis ハッシュは、キーと値のペアのコレクションです。

Redis ハッシュは、文字列型のフィールドと値のマッピング テーブルであり、オブジェクトの保存に特に適しています。

redis 127.0.0.1:6379> HMSET user:1 username w3cschool.cc password w3cschool.cc points 200
OK
redis 127.0.0.1:6379> HGETALL user:1
1) "username"
2) "w3cschool.cc"
3) "password"
4) "w3cschool.cc"
5) "points"
6) "200"
redis 127.0.0.1:6379>

上記の例では、ハッシュ データ型は、ユーザー スクリプト情報を含むユーザー オブジェクトを格納します。 この例では、Redis HMSET、HGETALL コマンドを使用しており、user:1 がキー値です。

各ハッシュには 232 - 1 のキーと値のペア (40 億以上) を保存できます。



List (リスト)

Redis リストは、挿入順に並べ替えられた文字列の単純なリストです。リストの先頭 (左) または末尾 (右) に要素を追加できます。

インスタンス

redis 127.0.0.1:6379> lpush w3cschool.cc redis
(integer) 1
redis 127.0.0.1:6379> lpush w3cschool.cc mongodb
(integer) 2
redis 127.0.0.1:6379> lpush w3cschool.cc rabitmq
(integer) 3
redis 127.0.0.1:6379> lrange w3cschool.cc 0 10
1) "rabitmq"
2) "mongodb"
3) "redis"
redis 127.0.0.1:6379>

リストには、最大 232 - 1 の要素を保存できます (4294967295、各リストは 40 億以上を保存できます)。


Set (セット)

Redis の Set は、文字列型の順序付けされていないコレクションです。

セットはハッシュ テーブルを通じて実装されるため、追加、削除、検索の複雑さは O(1) です。

sadd コマンド

は、キーに対応するセットに文字列要素を追加します。要素がセット内にあり、0 を返す場合は、キーに対応するセットが存在しないため、エラーが返されます。

sadd key member

redis 127.0.0.1:6379> sadd w3cschool.cc redis
(integer) 1
redis 127.0.0.1:6379> sadd w3cschool.cc mongodb
(integer) 1
redis 127.0.0.1:6379> sadd w3cschool.cc rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd w3cschool.cc rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers w3cschool.cc

1) "rabitmq"
2) "mongodb"
3) "redis"

注: 上記の例では rabitmq が 2 回追加されていますが、コレクション内の要素の一意性に基づいて、2 番目に挿入された要素は無視されます。

コレクション内のメンバーの最大数は 232 - 1 (4294967295、各コレクションには 40 億を超えるメンバーを保存できます) です。


zset (sorted set:順序付きセット)

Redis zset も set と同様に文字列型要素のコレクションであり、重複したメンバーは許可されません。


違いは、各要素が double 型のスコアに関連付けられていることです。 Redis はスコアを使用して、コレクションのメンバーを小さいものから大きいものまで並べ替えます。

zsetのメンバーは個性的ですが、スコアは繰り返すことができます。

zadd コマンド

は、要素がコレクションに存在する場合、対応するスコア

zadd key score member

インスタンス

redis 127.0.0.1:6379> zadd w3cschool.cc 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd w3cschool.cc 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd w3cschool.cc 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd w3cschool.cc 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE w3cschool.cc 0 1000

1) "redis"
2) "mongodb"
3) "rabitmq"
を更新します。

PHP中国語ウェブサイト