Redisデータ型(四)
3598 ワード
一、Redisデータ型
String(文字列)
≪インスタンス|Instance|emdw≫
以上の例では,RedisのSETとGETコマンドを用いた.キーはname、対応する値はw 3 cschoolである.cc.注:1つのキーで最大512 MBを格納できます.
二、HASH
≪インスタンス|Instance|emdw≫
以上の例ではhashデータ型には、ユーザスクリプト情報を含むユーザオブジェクトが格納されている.例ではRedis HMSET,HGETALLコマンドを用い,user:1はキー値である.各hashは、232〜1キー値対(40億以上)を格納することができる.
三、List(リスト)
Redisリストは単純な文字列リストで、挿入順に並べ替えられています.エレメントガイドリストのヘッダー(左)または末尾(右)を追加できます.
≪インスタンス|Instance|emdw≫
リストには最大232~1の要素が格納されます(4294967295、各リストには40億以上格納されます).
四、Set(集合)
RedisのSetはstring型の無秩序集合である.
集合はハッシュテーブルによって実現されるので,追加,削除,検索の複雑さはいずれもO(1)である.
saddコマンド
string要素を、keyに対応するsetセットに追加し、1を正常に返します.要素とセットで0を返すと、keyに対応するsetに戻りエラーはありません.
≪インスタンス|Instance|emdw≫
注:上記の例ではrabitmqは2回追加されましたが、集合内の要素の一意性に応じて、2回目に挿入された要素は無視されます.コレクションの最大メンバー数は232~1です(4294967295、各コレクションに40億人以上のメンバーを格納できます).
五、zset(sorted set:秩序集合)
Redis zsetはsetと同様にstringタイプ要素の集合であり、重複するメンバーは許可されません.異なるのは、各要素がdoubleタイプのスコアに関連付けられていることです.redisは、集合内のメンバーをスコアで小さいものから大きいものに並べ替えるものです.zsetのメンバーは一意ですが、スコア(score)は繰り返すことができます.
zaddコマンドはエレメントをコレクションに追加し、エレメントがコレクションに存在する場合は対応するscoreを更新します.
≪インスタンス|Instance|emdw≫
Redis :string( ),hash( ),list( ),set( ) zset(sorted set: )。
String(文字列)
string redis , Memcached , key value。
string 。 redis string 。 jpg 。
string Redis , 512MB。
≪インスタンス|Instance|emdw≫
redis 127.0.0.1:6379> SET name "w3cschool.cc"
OK
redis 127.0.0.1:6379> GET name
"w3cschool.cc"
以上の例では,RedisのSETとGETコマンドを用いた.キーはname、対応する値はw 3 cschoolである.cc.注:1つのキーで最大512 MBを格納できます.
二、HASH
Redis hash 。
Redis hash string field value ,hash 。
≪インスタンス|Instance|emdw≫
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>
以上の例ではhashデータ型には、ユーザスクリプト情報を含むユーザオブジェクトが格納されている.例ではRedis HMSET,HGETALLコマンドを用い,user:1はキー値である.各hashは、232〜1キー値対(40億以上)を格納することができる.
三、List(リスト)
Redisリストは単純な文字列リストで、挿入順に並べ替えられています.エレメントガイドリストのヘッダー(左)または末尾(右)を追加できます.
≪インスタンス|Instance|emdw≫
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はstring型の無秩序集合である.
集合はハッシュテーブルによって実現されるので,追加,削除,検索の複雑さはいずれもO(1)である.
saddコマンド
string要素を、keyに対応するsetセットに追加し、1を正常に返します.要素とセットで0を返すと、keyに対応するsetに戻りエラーはありません.
sadd key member
≪インスタンス|Instance|emdw≫
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と同様にstringタイプ要素の集合であり、重複するメンバーは許可されません.異なるのは、各要素がdoubleタイプのスコアに関連付けられていることです.redisは、集合内のメンバーをスコアで小さいものから大きいものに並べ替えるものです.zsetのメンバーは一意ですが、スコア(score)は繰り返すことができます.
zaddコマンドはエレメントをコレクションに追加し、エレメントがコレクションに存在する場合は対応するscoreを更新します.
zadd key score member
≪インスタンス|Instance|emdw≫
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"