![見出し画像](https://assets.st-note.com/production/uploads/images/85207688/rectangle_large_type_2_f1d9ada8a51484ab9f350a8ec3a7373f.jpeg?width=1200)
Redis_データ型について #245日目
RedisはRemote dictionary serverの略で、メモリ上にデータを展開して高速性を実現したkey-valueデータストアです。
以前の記事で少しだけ触れました。
今回はRedisで扱えるデータ型について整理してみます。以下の5つがあります。
String
文字列型。文字列や数字など、Keyに対して1つに定まる値。
# 1つのkey-valueをsetする
set key_name value
# key-valueの組を複数setする
mset key_name1 value1 key_name2 value_2
# 1つのkeyに対するvalueをgetする
get key_name
# 複数のkeyに対するvalueをgetする
mget key_name1 key_name2 key_name3
List
リスト型。順番を持った値の集合。
# リストの末尾に値を追加
rpush key_name value1 value2 ....
# リストの先頭に値を追加
lpush key_name value1 value2 ....
# 1番目から4番目まで値を取得
lrange key_name 0 3
# 1番目から最後(最後から1番目)までの値を取得
lrange [key_name] 0 -1
# 要素の数を取得
llen key
Set
セット型。順不同の値の集合で、値の重複を許さないもの。
# keyに対応するセットに指定した値を追加
sadd key_name value
# keyに対応するセットの値を取得
smembers key_name
Sorted Set
ソート済みセット型。セット型と同じ特徴に加えて個々の値がスコアを持つ。
# keyに対応するセットにスコア付きで値を追加
zadd key_name score value
# スコアの低い順に1番目から4番目の値を取得
zrange [key_name] 0 3
# スコアの高い順に1番目から4番目の値を取得
zrevrange [key_name] 0 3
Hash
ハッシュ型。field (valueについた名前) とvalueを1セットとする値の集合。
# keyにfieldとvalueのハッシュをset
hset key_name field value
# keyにハッシュのfieldとvalueを複数セット
hmset key_name field1 value1 field2 value2
# keyに対応するハッシュから指定したfieldのvalueを取得
hget key_name field
# keyに対応するハッシュから指定した複数のfieldのvalueを取得
hmget key_name field1 field2
# keyに対応するハッシュのすべてのfieldを取得
hkeys key_name
# keyに対応するハッシュのすべてのvalueを取得
hvals key_name
# 指定したフィールドがハッシュに存在するか
hexists key_name field
ここまでお読みいただきありがとうございました!!