English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redisは以下の5種類のデータタイプをサポートしています:string(文字列)、hash(ハッシュ)、list(リスト)、set(集合)およびzset(ソートされたセット:順序付き集合)。
stringはredisの最も基本的なタイプであり、Memcachedと全く同じタイプと理解することができます。一つのkeyが一つのvalueに対応しています。
stringタイプは二進数安全です。これはredisのstringがどんなデータも含むことができることを意味しています。例えばjpg画像やシリアライズされたオブジェクトなどです。
stringタイプはRedisの最も基本的なデータタイプで、stringタイプの値は最大で保存できます 512MB。
redis 127.0.0.1:6379> SET w3codebox "基本チュートリアルサイト" OK redis 127.0.0.1:6379> GET w3codebox "基本チュートリアルサイト"
上記の例ではRedisの SET 、 GET コマンド。キーはw3codebox、対応する値は 基本チュートリアルサイト。
注意:キーは最大で保存できます 512MB。
Redisのハッシュはkey=>value対の集合です。
Redisのハッシュはstringタイプのfieldとvalueのマッピング表で、ハッシュはオブジェクトを保存するのに特に適しています。
DEL w3codeboxは前のテストで使用したkeyを削除するために使用されます、さもなければエラーが返されます:(エラー) WRONGTYPE Operation against a key holding the wrong kind of value
redis 127.0.0.1:6379> DEL w3codebox redis 127.0.0.1:6379> HMSET w3codebox field1 "Hello" field2 "World" "OK" redis 127.0.0.1:6379> HGET w3codebox field1 "Hello" redis 127.0.0.1:6379> HGET w3codebox field2 "World"
例ではRedisの HMSET, HGET コマンド、HMSET 二つのfield=>value対が設定され、HGETは対応する field に対応 value。
それぞれのハッシュには保存できます 232 -1 キーペア(40多億)。
Redisのリストはシンプルな文字列リストで、挿入順に並べ替えられます。リストの先頭(左側)または末尾(右側)に要素を追加できます。
redis 127.0.0.1:6379> DEL w3codebox redis 127.0.0.1:6379> lpush w3codebox redis (integer) 1 redis 127.0.0.1:6379> lpush w3codebox mongodb (integer) 2 redis 127.0.0.1:6379> lpush w3codebox rabbitmq (integer) 3 redis 127.0.0.1:6379> lrange w3codebox 0 10 1) "rabbitmq" 2) "mongodb" 3) "redis" redis 127.0.0.1:6379>
リストには最大で保存できます 232 - 1 要素 (4294967295、それぞれのリストには保存できます40多億)。
RedisのSetは、stringタイプの無序列表集合です。
セットはハッシュテーブルで実装されているため、追加、削除、検索の複雑度はすべて O(1)。
string 要素をkeyに対応するセット集合に追加し、成功した場合 1、もしその要素がすでにセットにある場合、0を返します。
sadd key member
redis 127.0.0.1:6379> DEL w3codebox redis 127.0.0.1:6379> sadd w3codebox redis (integer) 1 redis 127.0.0.1:6379> sadd w3codebox mongodb (integer) 1 redis 127.0.0.1:6379> sadd w3codebox rabbitmq (integer) 1 redis 127.0.0.1:6379> sadd w3codebox rabbitmq (integer) 0 redis 127.0.0.1:6379> smembers w3codebox 1) "redis" 2) "rabbitmq" 3) "mongodb"
注意:上記の例では、rabbitmqが2回追加されましたが、集合内の要素のユニーク性に基づいて、2回目の挿入は無視されます。
集合内の最大メンバー数は 232 - 1(4294967295、各集合に保存できます4100億以上のメンバーができます。
Redisのzsetとsetはともにstring型の要素の集合であり、重複のメンバーは許可されません。
違いは、各要素がdouble型のスコアに関連付けられます。Redisは、スコアを通じて集合内のメンバーを小到大にソートします。
zsetのメンバーはユニークですが、スコア(score)は重複できます。
要素を集合に追加します。要素が集合に存在する場合、対応するscoreを更新します。
zadd key score member
redis 127.0.0.1:6379> DEL w3codebox redis 127.0.0.1:6379> zadd w3codebox 0 redis (integer) 1 redis 127.0.0.1:6379> zadd w3codebox 0 mongodb (integer) 1 redis 127.0.0.1:6379> zadd w3codebox 0 rabbitmq (integer) 1 redis 127.0.0.1:6379> zadd w3codebox 0 rabbitmq (integer) 0 redis 127.0.0.1:6379> ZRANGEBYSCORE w3codebox 0 1000 1) "mongodb" 2) "rabbitmq" 3) "redis"