[Redis]Redisの基本データ構造
4041 ワード
key-value
keyによるvalueの取得または設定
SET key value
GET key
SET server:name "fido"
GET server:name
SETNX
: SET-if-not-exists INCR
:+1原子操作SET connections 10
INCR connections =>11
INCR A =>1
キーに有効期限を設定
TTL
keyの生存時間を取得します.keyのvalueをセットするたびに、有効期限がリセットされます.-2
期限切れ-1
期限切れSET str "ASD"
EXPIRE str 120 # 120s
TTL str # str
list
RPUSH
リストの末尾にデータを挿入LPUSH
リスト始点にデータを挿入LRANGE
はlist
のサブセットの下付き文字を返して0から始まりますLRANGE friends 0 -1 # python list
LLEN
は、list
の長さを返します.LPOP
list
最初の要素を削除し、この要素(左が最初の要素)を返します.RPOP
list
最後の要素を削除し、この要素(右側が最後の要素)を返します.set
重み付けリスト、無秩序、無秩序なのでsrangeというコマンドはありません.代わりに
SMEMBERS
はすべてのデータを返すために使用されます.SADD
重複する要素は挿入に失敗します
SADD data_set "aa" // 1
SADD data_set "data1" // 1
SADD data_set "aa" // 0, aa,
SREM
指定要素をset
から削除SREM data_set "data1"
SISMEMBER
はset
の中の元素の1=>であるかどうかSISMEMBER data_set "aa"
SMEMBERS
は、set
のすべての要素を返します.SUNION
2つ以上のset
が結合され、すべての要素のリストが返されます.SCARD
はset長を返しますzset(秩序set)
scoreでソート
データを追加するときはscoreを指定し、ソートに使用します.ソートはredisが自動的に実行します.
ZADD superheros 1 ironman
ZADD superheros 3 thor
ZADD superheros 2 spiderman
ZRANGE key start stop [WITHSCORES]
はkey
の[start stop]のデータを返し、score
でインクリメントソートし、インクリメントソート用ZREVRANGE
withscores
を加えるとscoreも出力されます> zrange superheros 0 -1
1) "ironman"
2) "spiderman"
3) "thor"
> zrange superheros 0 -1 withscores
1) "ironman"
2) 1.0
3) "spiderman"
4) 2.0
5) "thor"
6) 3.0
ZREM
削除zset
の1つまたは複数のメンバーは、無視されたまま削除に成功した数を返します.Hashes
HSET
key field value keyで指定されたドメインfieldの値をvalueに設定します.
HMSET
key field value field2 value2 keyの複数のドメインを同時に設定する
HGET
key field keyのドメインの値を取得
HMGET
key field field2 keyの複数のドメインの値を取得
> HSET key field value
(integer) 1
> HSET key field1 value1
(integer) 1
> HGET key field
"value"
HMSET key field1 value1 field2 value2 field3 value3
OK
> HMGET key field1 field2 filed3 field4
1) "value1"
2) "value2"
3) "value3"
4) (nil)
HSET
の戻り値Sets field in the hash stored at key to value. If key does not exist, a new key holding a hash is created. If field already exists in the hash, it is overwritten.
0変数が存在し、値が更新されました
1変数は存在しません.作成されました.
keyはオブジェクトを指していると理解され、このオブジェクトにはキー値のペアが含まれています.
HINCRBY
fieldのvalueに指定値を追加し、原子操作、fieldが存在しない場合は追加します.HSET key age 3
HINCRBY key age 2 # age 5
HINCRBY key num 1 # num , 1
HDEL
keyのfieldを削除HDEL key age
HGETALL
keyのすべてのfieldとvalueを取得> HGETALL key
1) "field"
2) "value"
3) "field2"
4) "value2"
HLEN
key 指定したkey内のドメインの数を取得
HEXISTS
key field 指定されたドメインにドメインが存在するかどうかは、0(存在しない)または1(存在する)を返します.
field
key keysと同様に、key内のすべてのfieldを返します.
> hkeys key
1) "field"
2) "field2"
HKEYS
key キー内のすべてのvalueを返します
> hvals key
1) "value"
2) "value2"