Redis key関連コマンド
4712 ワード
実は本質的に、RedisはKeyValueデータベースです.ここではまずRedisのkeyに関するコマンドを紹介します.
注意:keyは文字列格納ですが、スペースまたは「」は使用できません.valueは任意の文字列を使用できます.(理由:コマンドの終端、スペースはコマンドとパラメータの区切りです)
次のkey関連コマンドおよび一部のインスタンス
コマンドプロトタイプ
時間の複雑さ
コマンドの説明
戻り値
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の公式ドキュメントを参考にすることができます.
ソート後の元のリストを返します.
頻繁に使用される例は次のとおりです.
1.すべてのキーを表示し、(マッチングモードで表示)キーであることに注意
2.キーが存在するかどうか
redis 127.0.0.1:6379> exists mouge
3.削除可能
redis 127.0.0.1:6379> del mouge
4.キーの有効期限を設定する(単位:秒):
redis 127.0.0.1:6379> expire mouge 10
5.指定したkeyの有効期限を削除します.
redis 127.0.0.1:6379[1]> expire age 300
(integer) 1
redis 127.0.0.1:6379[1]> ttl age
(integer) 294
redis 127.0.0.1:6379[1]> persist age
(integer) 1
redis 127.0.0.1:6379[1]> ttl age
(integer) -1
6.keyの名前を変更するには:
redis 127.0.0.1:6379[1]> keys *
1) mouge
redis 127.0.0.1:6379[1]> rename mouge mouge_2
OK
redis 127.0.0.1:6379[1]> keys *
1) mouge_2
mougeは私たちにmougeと名前を変更することに成功しました.2はい.
9、type
戻り値のタイプ:
redis 127.0.0.1:6379> type addr
string
redis 127.0.0.1:6379> type myzset2
zset
redis 127.0.0.1:6379> type mylist
list
redis 127.0.0.1:6379>
この方法は非常に簡単に値のタイプを判断することができる.
転載先:https://www.cnblogs.com/guixiaoming/p/5458277.html
注意:keyは文字列格納ですが、スペースまたは「」は使用できません.valueは任意の文字列を使用できます.(理由:コマンドの終端、スペースはコマンドとパラメータの区切りです)
次のkey関連コマンドおよび一部のインスタンス
コマンドプロトタイプ
時間の複雑さ
コマンドの説明
戻り値
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の公式ドキュメントを参考にすることができます.
ソート後の元のリストを返します.
頻繁に使用される例は次のとおりです.
1.すべてのキーを表示し、(マッチングモードで表示)キーであることに注意
127.0.0.1:6379> keys *
1) "13326832f534f02d5829ad1a78c1ebbf"
2) "age"
3) "d58b02fe801a4313be49ab4d29f5d687"
4) "e68178c7159ff3ccd394cdab52a639d2"
5) "key_project_107"
.....
2.キーが存在するかどうか
redis 127.0.0.1:6379> exists mouge
3.削除可能
redis 127.0.0.1:6379> del mouge
4.キーの有効期限を設定する(単位:秒):
redis 127.0.0.1:6379> expire mouge 10
5.指定したkeyの有効期限を削除します.
redis 127.0.0.1:6379[1]> expire age 300
(integer) 1
redis 127.0.0.1:6379[1]> ttl age
(integer) 294
redis 127.0.0.1:6379[1]> persist age
(integer) 1
redis 127.0.0.1:6379[1]> ttl age
(integer) -1
6.keyの名前を変更するには:
redis 127.0.0.1:6379[1]> keys *
1) mouge
redis 127.0.0.1:6379[1]> rename mouge mouge_2
OK
redis 127.0.0.1:6379[1]> keys *
1) mouge_2
mougeは私たちにmougeと名前を変更することに成功しました.2はい.
9、type
戻り値のタイプ:
redis 127.0.0.1:6379> type addr
string
redis 127.0.0.1:6379> type myzset2
zset
redis 127.0.0.1:6379> type mylist
list
redis 127.0.0.1:6379>
この方法は非常に簡単に値のタイプを判断することができる.
転載先:https://www.cnblogs.com/guixiaoming/p/5458277.html