3.Redis文字列コマンド
6373 ワード
SET key value##
このコマンドは、指定したキーに値を設定するために使用され、1つのキーには最大512 Mが格納され、キーが存在する場合、同じ名前で上書きされます. EX seconds指定期限を設定します.単位は秒 です. px milliseconds指定の有効期限をミリ秒 で設定 NXはキー値が存在しない場合のみ設定に成功し、そうでなければ失敗し、新規作成のみに使用することに相当し、 を上書きすることはできない. XXキー値が存在する場合のみ設定に成功します.そうしないと、エラーが発生し、上書きのみに使用することに相当し、 は新規作成されません.
GET key##
keyに基づいて対応する値が見つかり、存在しない場合は
GETSET key value##
指定したkeyの値を設定し、古い値を返します.存在しない場合は
MSET key value [key value...]
複数のキー値ペアを一度に設定
MGET key [key...]
複数のキー値ペアを一度に取得
STRLEN key
取得keyの文字列長
SETRANGE key offset value
文字列の置換keyが存在しない場合、keyが作成されます.設定したkeyの元の文字列の長さがoffsetより小さい場合は、ゼロバイト(x 00)で入力されます.
GETRANGE key start end
キー文字列に格納された値、オフセットによって決定されたサブ列の開始と終了(両方を含む)を取得します.負のオフセットは、文字列の最後のオフセットから使用されることを提供することができる.
SETNX key value
keyが存在しない場合のみ設定に成功し、成功して1を返し、失敗して0を返します.
SETEX key seconds value
キーの有効期限の単位を秒に設定し、設定値と有効期限の動作は原子的です.
MSETNX key value [key value]
keyが存在しない場合のみ設定に成功し、複数同時に設定できます.1つの失敗があれば、全体がすべて失敗し、成功は1を返し、失敗は0を返します.
PSETEX key milliseconds value
キーの有効期限の単位をミリ秒に設定し、設定値と有効期限の動作は原子的です.使用方法はSETEXと同じです
INCR key
keyに格納されている数字+1に対して、keyが存在しない場合はkeyを追加し、値は1である.キーが数字でない場合は保存され、キーに格納されているのは整数でなければなりません.
INCRBY key increment
keyに格納されている数字に指定した増分を加えるには、増分は整数でなければなりません.
INCRBYFLOAT key increment
キーに格納されている数字に指定した増分を加えると、浮動小数点数と整数になります.
DECR key
キーに格納されている数字-1をINCRと同じ構文で
DECRBY key decrement
keyに格納されている数字から指定された量を減算するには、整数でなければなりません.構文はINCRBYと同じです.
注意:DECRBYFLOATはありません!!!DECRBYFLOATはありません!!!DECRBYFLOATはありません!!!
APPEND key append
文字列の末尾に内容を追加し、keyが存在しなければ
このコマンドは、指定したキーに値を設定するために使用され、1つのキーには最大512 Mが格納され、キーが存在する場合、同じ名前で上書きされます.
SET KEY VALUE [EX seconds] [PX milliseconds] [NX|XX]
127.0.0.1:6379> SET redis hello
OK
127.0.0.1:6379> GET redis
"hello"
// ,NX
127.0.0.1:6379> SET redis world NX
(nil)
127.0.0.1:6379> GET redis
"hello"
// ,XX ,XX
127.0.0.1:6379> SET redis world XX
OK
127.0.0.1:6379> GET redis2 world XX
(error) ERR wrong number of arguments for 'get' command
//
127.0.0.1:6379> set redis 'hello world' EX 5
OK
127.0.0.1:6379> TTL redis
(integer) 3
127.0.0.1:6379> TTL redis
(integer) -2
127.0.0.1:6379> EXISTS redis
(integer) 0
//
127.0.0.1:6379> set redis 'hello world' PX 5000
OK
127.0.0.1:6379> PTTL redis
(integer) 752
127.0.0.1:6379> EXISTS redis
(integer) 0
// EX PX ,
127.0.0.1:6379> set redis 'hello world' EX 10 PX 50000
OK
127.0.0.1:6379> TTL redis
(integer) 42
127.0.0.1:6379> set redis 'hello world' PX 50000 EX 5
OK
127.0.0.1:6379> TTL redis
(integer) 2
GET key##
keyに基づいて対応する値が見つかり、存在しない場合は
nil
を返し、タイプが文字列でない場合はエラーを報告します.GET key
GETSET key value##
指定したkeyの値を設定し、古い値を返します.存在しない場合は
nil
を返します.127.0.0.1:6379> GETSET redis 'stronger'
"hello world"
127.0.0.1:6379> GET redis
"stronger"
127.0.0.1:6379> GETSET str1 'hello'
(nil)
127.0.0.1:6379> GET str1
"hello"
MSET key value [key value...]
複数のキー値ペアを一度に設定
127.0.0.1:6379> MSET str1 'text1' str2 'text2' str3 'text3'
OK
MGET key [key...]
複数のキー値ペアを一度に取得
127.0.0.1:6379> MGET str1 str2 str3 str4
1) "text1"
2) "text2"
3) "text3"
4) (nil)
STRLEN key
取得keyの文字列長
127.0.0.1:6379> STRLEN str1
(integer) 5
127.0.0.1:6379> STRLEN str4
(integer) 0 // 0
SETRANGE key offset value
文字列の置換keyが存在しない場合、keyが作成されます.設定したkeyの元の文字列の長さがoffsetより小さい場合は、ゼロバイト(x 00)で入力されます.
127.0.0.1:6379> SET str4 'hello world'
OK
127.0.0.1:6379> SETRANGE str4 6 'Redis'
(integer) 11
127.0.0.1:6379> GET str4
"hello Redis"
127.0.0.1:6379> EXISTS str5
(integer) 0 // str5
127.0.0.1:6379> SETRANGE str5 5 'redis'
(integer) 10
127.0.0.1:6379> GET str5
"\x00\x00\x00\x00\x00redis"
GETRANGE key start end
キー文字列に格納された値、オフセットによって決定されたサブ列の開始と終了(両方を含む)を取得します.負のオフセットは、文字列の最後のオフセットから使用されることを提供することができる.
127.0.0.1:6379> SET redis 'hello world'
OK
127.0.0.1:6379> GETRANGE redis 0 4
"hello"
127.0.0.1:6379> GETRANGE redis 6 -1
"world"
127.0.0.1:6379> GETRANGE redis 6 1000
"world"
SETNX key value
keyが存在しない場合のみ設定に成功し、成功して1を返し、失敗して0を返します.
127.0.0.1:6379> SETNX str5 'hello'
(integer) 0
127.0.0.1:6379> SETNX str6 'hello'
(integer) 1
127.0.0.1:6379> MGET str5 str6
1) "\x00\x00\x00\x00\x00redis"
2) "hello"
SETEX key seconds value
キーの有効期限の単位を秒に設定し、設定値と有効期限の動作は原子的です.
127.0.0.1:6379> SETEX str6 5 'redis'
OK
127.0.0.1:6379> GET str6
"redis"
127.0.0.1:6379> TTL str6
(integer) 2 //
127.0.0.1:6379> GET str6
(nil) // 5
MSETNX key value [key value]
keyが存在しない場合のみ設定に成功し、複数同時に設定できます.1つの失敗があれば、全体がすべて失敗し、成功は1を返し、失敗は0を返します.
127.0.0.1:6379> MSETNX str5 'text5' str6 'text6'
(integer) 0
127.0.0.1:6379> EXISTS str6
(integer) 0
127.0.0.1:6379> EXISTS str5
(integer) 1 // str5 , MSETNX
127.0.0.1:6379> MSETNX str6 'text6' str7 'text7'
(integer) 1 // str6 str7 ,
127.0.0.1:6379> EXISTS str6
(integer) 1
127.0.0.1:6379> EXISTS str7
(integer) 1
PSETEX key milliseconds value
キーの有効期限の単位をミリ秒に設定し、設定値と有効期限の動作は原子的です.使用方法はSETEXと同じです
127.0.0.1:6379> PSETEX str7 5000 'text7'
OK
127.0.0.1:6379> PTTL str7
(integer) 344
127.0.0.1:6379> PTTL str7
(integer) -2
127.0.0.1:6379> EXISTS str7
(integer) 0
INCR key
keyに格納されている数字+1に対して、keyが存在しない場合はkeyを追加し、値は1である.キーが数字でない場合は保存され、キーに格納されているのは整数でなければなりません.
127.0.0.1:6379> SET page 1
OK
127.0.0.1:6379> INCR page
(integer) 2
127.0.0.1:6379> GET page
"2"
127.0.0.1:6379> SET redis 'test'
OK
127.0.0.1:6379> INCR redis
(error) ERR value is not an integer or out of range
127.0.0.1:6379> EXISTS count
(integer) 0
127.0.0.1:6379> INCR count
(integer) 1
INCRBY key increment
keyに格納されている数字に指定した増分を加えるには、増分は整数でなければなりません.
127.0.0.1:6379> SET page 1
OK
127.0.0.1:6379> INCR page
(integer) 2
127.0.0.1:6379> INCRBY page 5
(integer) 7
127.0.0.1:6379> INCRBY page 1.2
(error) ERR value is not an integer or out of range
INCRBYFLOAT key increment
キーに格納されている数字に指定した増分を加えると、浮動小数点数と整数になります.
127.0.0.1:6379> INCRBYFLOAT page 1.2
"8.2"
127.0.0.1:6379> INCRBYFLOAT page 5
"13.2"
DECR key
キーに格納されている数字-1をINCRと同じ構文で
DECRBY key decrement
keyに格納されている数字から指定された量を減算するには、整数でなければなりません.構文はINCRBYと同じです.
127.0.0.1:6379> SET page '10'
OK
127.0.0.1:6379> DECR page
(integer) 9
127.0.0.1:6379> DECRBY page 5
(integer) 4
127.0.0.1:6379> DECRBY page2 5
(integer) -5
127.0.0.1:6379> DECRBY page2 -5
(integer) 0
注意:DECRBYFLOATはありません!!!DECRBYFLOATはありません!!!DECRBYFLOATはありません!!!
APPEND key append
文字列の末尾に内容を追加し、keyが存在しなければ
SET
操作を実行したに相当し、戻り値は文字列の長さである127.0.0.1:6379> EXISTS redis
(integer) 0
127.0.0.1:6379> APPEND redis 'hello'
(integer) 5
127.0.0.1:6379> APPEND redis ' world'
(integer) 11
127.0.0.1:6379> GET redis
"hello world"