Redis日常操作コマンドまとめ
10553 ワード
Redisキャッシュ・サービスは、メンテナンス作業で一般的なメンテナンス作業です.次に、redisの日常的な操作コマンドについて簡単なまとめを行い、確認に備えます.
1)redisサービスコマンド#redis-cli-h redisホストipまたはホストドメイン名-p redisポート-a redisパスワードの接続
1 2
2)tomcatの下にあるredis.propertiesは関連パラメータを表示できます
1 2 3 4 5 6 7 8
3)keyに関する操作コマンド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
redisで指定したkey値をクリアする(例えばredisにkevinが含まれているkey値をクリアする)[root@redis-test01 ~]#/data/redis-4.0.1/src/redis-cli -h 192.168.10.10 -p 6379 -a redis@123 keys "kevin*"|xargs/data/redis-4.0.1/src/redis-cli -h 192.168.10.10 -p 6379 -a redis@123 del
レジスを止めるroot@redis-test01 ~]#/data/redis-4.0.1/src/redis-cli -h 192.168.10.10 -p 6379 -a redis@123 shutdown
redis関連コマンドリスト
コマンドプロトタイプ
時間の複雑さ
コマンドの説明
戻り値
KEYS pattern
O(N)
時間的複雑度のNはデータベース内のKeyの数を表す.patternパラメータに一致するすべてのKeysを取得します.説明する必要があるのは、大規模なデータベースでは時間がかかり、Redisサーバのパフォーマンスに大きな打撃を与えるため、通常の操作ではコマンドの呼び出しをできるだけ避けるべきです.patternはglob-styleのワイルドカードフォーマットをサポートしています.例えば、*は任意の文字または複数の文字を表します.任意の文字を表し、[abc]は角カッコの任意のアルファベットを表す.
パターンに一致するキーのリスト.
DEL key [key ...]
O(N)
時間的複雑度のNは削除されたKeyの数を表す.データベースからパラメータで指定したkeysを削除し、指定したキーが存在しない場合は無視します.また、指定されたキーに関連付けられたデータ型がString型ではなく、List、Set、Hashes、Sorted Setなどのコンテナ型である場合、このコマンドが各キーを削除する時間の複雑さはO(M)であり、Mはコンテナ内の要素の数を表す.一方,StringタイプのKeyでは,その時間的複雑度はO(1)である.
実際に削除されたKeyの数.
EXISTS key
O(1)
指定キーが存在するかどうかを判断します.
1は存在を表し、0は存在しないを表す.
MOVE key db
O(1)
現在のデータベースで指定したキーキーキーを、パラメータで指定したデータベースに移動します.キーがターゲット・データベースにすでに存在する場合、または現在のデータベースに存在しない場合、コマンドは何もせずに0を返します.
移動は正常に1を返しました.そうでなければ0です.
RENAME key newkey
O(1)
指定したキーの名前を変更すると、パラメータ内の2つのKeysのコマンドが同じか、ソースKeyが存在しない場合、そのコマンドは関連するエラー情報を返します.newKeyが既に存在する場合は、直接上書きします.
RENAMENX key newkey
O(1)
新しい値が存在しない場合は、パラメータの元の値を新しい値に変更します.その他の条件はRENAMEと一致する.
1は変更に成功したことを示し、そうでなければ0です.
PERSIST key
O(1)
キーに有効期限がある場合、コマンドはその有効期限を消去し、キーがタイムアウトせずにストレージを永続化できます.
1はキーの有効期限が移動されたことを示し、0はキーが存在しないか、有効期限がないことを示す.
EXPIRE key seconds
O(1)
このコマンドは、パラメータで指定したキーにタイムアウトの秒数を設定し、それを超えるとキーが自動的に削除されます.キーがタイムアウト前に変更された場合、キーに関連付けられたタイムアウトは削除されます.
1はタイムアウトが設定されていることを示し、0はキーが存在しないか、設定できないことを示します.
EXPIREAT key timestamp
O(1)
このコマンドの論理機能はEXPIREと全く同じで、唯一の違いは、コマンドが指定したタイムアウト時間が相対時間ではなく絶対時間であることです.この時間パラメータは、1970年1月1日から流れる秒数であるUnix timestamp形式である.
1はタイムアウトが設定されていることを示し、0はキーが存在しないか、設定できないことを示します.
TTL key
O(1)
キーの残りのタイムアウトの説明を取得します.
残りの説明を返します.キーが存在しないか、タイムアウト設定がない場合は、-1を返します.
RANDOMKEY
O(1)
現在開いているデータベースからランダムにキーを返します.
返されるランダムキーは、データベースが空の場合nilを返します.
TYPE key
O(1)
パラメータで指定したキーに関連付けられた値のタイプを取得します.このコマンドは文字列形式で返されます.
返される文字列はstring、list、set、hash、zsetであり、keyが存在しない場合はnoneを返します.
SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]
O(N+M*log(M))
この命令は相対的に複雑なので、ここでは最も基本的な使い方を示しているだけで、興味のあるネットユーザーはredisの公式ドキュメントを参考にすることができます.
ソート後の元のリストを返します.
-----------------------------------------------------------keys/rename/del/exists/move/renamenxコマンド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
persist/expire/expireat/ttlコマンド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
type/randomkey/sortコマンド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
1)redisサービスコマンド#redis-cli-h redisホストipまたはホストドメイン名-p redisポート-a redisパスワードの接続
1 2
[root@redis-test01 ~]
# /data/redis-4.0.1/src/redis-cli -h 192.168.10.10 -p 6379 -a redis@123
192.168.10.10:6379>
2)tomcatの下にあるredis.propertiesは関連パラメータを表示できます
1 2 3 4 5 6 7 8
#
redis.host
#
redis.port
#
redis.password
3)keyに関する操作コマンド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
key
keys *
SHOP key
keys SHOP_*
kevin key
keys kevin*
key value
lrange key 0 -1
redis , key 。 kevin key
exists key kevin
key , kevin key
del kevin
, kevin key 20
expire kevin 20
flushdb
key
redis-cli -h 192.168.10.10 -p 6379 keys
"web*"
|
xargs
redis-cli -h 192.168.10.10 -p 6379 del
redisで指定したkey値をクリアする(例えばredisにkevinが含まれているkey値をクリアする)[root@redis-test01 ~]#/data/redis-4.0.1/src/redis-cli -h 192.168.10.10 -p 6379 -a redis@123 keys "kevin*"|xargs/data/redis-4.0.1/src/redis-cli -h 192.168.10.10 -p 6379 -a redis@123 del
レジスを止めるroot@redis-test01 ~]#/data/redis-4.0.1/src/redis-cli -h 192.168.10.10 -p 6379 -a redis@123 shutdown
redis関連コマンドリスト
コマンドプロトタイプ
時間の複雑さ
コマンドの説明
戻り値
KEYS pattern
O(N)
時間的複雑度のNはデータベース内のKeyの数を表す.patternパラメータに一致するすべてのKeysを取得します.説明する必要があるのは、大規模なデータベースでは時間がかかり、Redisサーバのパフォーマンスに大きな打撃を与えるため、通常の操作ではコマンドの呼び出しをできるだけ避けるべきです.patternはglob-styleのワイルドカードフォーマットをサポートしています.例えば、*は任意の文字または複数の文字を表します.任意の文字を表し、[abc]は角カッコの任意のアルファベットを表す.
パターンに一致するキーのリスト.
DEL key [key ...]
O(N)
時間的複雑度のNは削除されたKeyの数を表す.データベースからパラメータで指定したkeysを削除し、指定したキーが存在しない場合は無視します.また、指定されたキーに関連付けられたデータ型がString型ではなく、List、Set、Hashes、Sorted Setなどのコンテナ型である場合、このコマンドが各キーを削除する時間の複雑さはO(M)であり、Mはコンテナ内の要素の数を表す.一方,StringタイプのKeyでは,その時間的複雑度はO(1)である.
実際に削除されたKeyの数.
EXISTS key
O(1)
指定キーが存在するかどうかを判断します.
1は存在を表し、0は存在しないを表す.
MOVE key db
O(1)
現在のデータベースで指定したキーキーキーを、パラメータで指定したデータベースに移動します.キーがターゲット・データベースにすでに存在する場合、または現在のデータベースに存在しない場合、コマンドは何もせずに0を返します.
移動は正常に1を返しました.そうでなければ0です.
RENAME key newkey
O(1)
指定したキーの名前を変更すると、パラメータ内の2つのKeysのコマンドが同じか、ソースKeyが存在しない場合、そのコマンドは関連するエラー情報を返します.newKeyが既に存在する場合は、直接上書きします.
RENAMENX key newkey
O(1)
新しい値が存在しない場合は、パラメータの元の値を新しい値に変更します.その他の条件はRENAMEと一致する.
1は変更に成功したことを示し、そうでなければ0です.
PERSIST key
O(1)
キーに有効期限がある場合、コマンドはその有効期限を消去し、キーがタイムアウトせずにストレージを永続化できます.
1はキーの有効期限が移動されたことを示し、0はキーが存在しないか、有効期限がないことを示す.
EXPIRE key seconds
O(1)
このコマンドは、パラメータで指定したキーにタイムアウトの秒数を設定し、それを超えるとキーが自動的に削除されます.キーがタイムアウト前に変更された場合、キーに関連付けられたタイムアウトは削除されます.
1はタイムアウトが設定されていることを示し、0はキーが存在しないか、設定できないことを示します.
EXPIREAT key timestamp
O(1)
このコマンドの論理機能はEXPIREと全く同じで、唯一の違いは、コマンドが指定したタイムアウト時間が相対時間ではなく絶対時間であることです.この時間パラメータは、1970年1月1日から流れる秒数であるUnix timestamp形式である.
1はタイムアウトが設定されていることを示し、0はキーが存在しないか、設定できないことを示します.
TTL key
O(1)
キーの残りのタイムアウトの説明を取得します.
残りの説明を返します.キーが存在しないか、タイムアウト設定がない場合は、-1を返します.
RANDOMKEY
O(1)
現在開いているデータベースからランダムにキーを返します.
返されるランダムキーは、データベースが空の場合nilを返します.
TYPE key
O(1)
パラメータで指定したキーに関連付けられた値のタイプを取得します.このコマンドは文字列形式で返されます.
返される文字列はstring、list、set、hash、zsetであり、keyが存在しない場合はnoneを返します.
SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]
O(N+M*log(M))
この命令は相対的に複雑なので、ここでは最も基本的な使い方を示しているだけで、興味のあるネットユーザーはredisの公式ドキュメントを参考にすることができます.
ソート後の元のリストを返します.
-----------------------------------------------------------keys/rename/del/exists/move/renamenxコマンド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
keys
192.168.10.10:6379> keys *
192.168.10.10:6379> flushdb
OK
String
192.168.10.10:6379>
set
mykey 2
OK
192.168.10.10:6379>
set
mykey2
"hello"
OK
Set 。
192.168.10.10:6379> sadd mysetkey 1 2 3
(integer) 3
Hash 。
192.168.10.10:6379> hset mmtest username
"stephen"
(integer) 1
, key, , Key Value 。
192.168.10.10:6379> keys my*
1)
"mysetkey"
2)
"mykey"
3)
"mykey2"
Keys
192.168.10.10:6379> del mykey mykey2
(integer) 2
Key , ,mykey 。
192.168.10.10:6379> exists mykey
(integer) 0
Key, 。
192.168.10.10:6379> exists mysetkey
(integer) 1
mysetkey ID 1 , 。
192.168.10.10:6379> move mysetkey 1
(integer) 1
ID 1 。
192.168.10.10:6379>
select
1
OK
Key , 。
redis 127.0.0.1:6379[1]> exists mysetkey
(integer) 1
ID 0 。
redis 127.0.0.1:6379[1]>
select
0
OK
Key , 。
192.168.10.10:6379> exists mysetkey
(integer) 0
。
192.168.10.10:6379>
set
mykey
"hello"
OK
mykey mykey1
192.168.10.10:6379> rename mykey mykey1
OK
mykey , nil。
192.168.10.10:6379> get mykey
(nil)
。
192.168.10.10:6379> get mykey1
"hello"
mykey , 。
192.168.10.10:6379> rename mykey mykey1
(error) ERR no such key
renamenx key
192.168.10.10:6379>
set
oldkey
"hello"
OK
192.168.10.10:6379>
set
newkey
"world"
OK
newkey , 。
192.168.10.10:6379> renamenx oldkey newkey
(integer) 0
newkey , renamenx 。
192.168.10.10:6379> get newkey
"world"
persist/expire/expireat/ttlコマンド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
。
192.168.10.10:6379>
set
mykey
"hello"
OK
100 。
192.168.10.10:6379> expire mykey 100
(integer) 1
ttl 。
192.168.10.10:6379> ttl mykey
(integer) 97
persist , , Key 。
192.168.10.10:6379> persist mykey
(integer) 1
ttl , 。
192.168.10.10:6379> ttl mykey
(integer) -1
expire 。
192.168.10.10:6379> del mykey
(integer) 1
192.168.10.10:6379>
set
mykey
"hello"
OK
100 。
192.168.10.10:6379> expire mykey 100
(integer) 1
ttl , 96 。
192.168.10.10:6379> ttl mykey
(integer) 96
20 , 。
192.168.10.10:6379> expire mykey 20
(integer) 1
ttl , 。
192.168.10.10:6379> ttl mykey
(integer) 17
, 。
192.168.10.10:6379>
set
mykey
"world"
OK
ttl , , 。
192.168.10.10:6379> ttl mykey
(integer) -1
type/randomkey/sortコマンド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
mm , none。
192.168.10.10:6379>
type
mm
none
mykey , string。
192.168.10.10:6379>
type
mykey
string
set
。
192.168.10.10:6379> sadd mysetkey 1 2
(integer) 2
mysetkey
set
,
set
。
192.168.10.10:6379>
type
mysetkey
set
。
192.168.10.10:6379> randomkey
"oldkey"
。
192.168.10.10:6379> flushdb
OK
, nil。
192.168.10.10:6379> randomkey
(nil)