ホームページ > データベース > Redis > redis cliコマンドの詳しい説明

redis cliコマンドの詳しい説明

リリース: 2020-03-09 10:16:18
転載
13461 人が閲覧しました

redis cliコマンドの詳しい説明

1. redis がインストールされると、src および /usr/local/bin の下に redis で始まるいくつかの実行可能ファイル (redis シェルと呼ばれます) が存在します。

1. redis-server は redis を開始します

2. redis-cli redis コマンド ライン ツール

3. redis-benchmark ベンチマーク テスト ツール

4. redis-check-aof AOF 永続ファイル検出ツールおよび修復ツール

5、redis-check-dump RDB 永続ファイル検出ツールおよび修復ツール

6、redis-sentinel は redissentinel を開始します

2. Redis サーバーに接続するには 2 つの方法があります。

最初の方法: インタラクティブ モード

redis-cli -h {host} -p {port}方式连接,然后所有的操作都是在交互的方式实现,不需要再执行redis-cli了。

$redis-cli -h 127.0.0.1-p 6379

127.0.0.1:6379>set hello world

OK

127.0.0.1:6379>get hello

"world"
ログイン後にコピー

2 番目の方法: コマンド モード

redis-cli -h {host} -p {port} {command}直接得到命令的返回结果。

$redis-cli -h 127.0.0.1-p 6379 get hello

"world"
ログイン後にコピー

redis-cli には、-h、-p などの多くのパラメーターが含まれており、次のことを理解する必要があります。すべてのパラメータを指定するには、redis-cli -help コマンドを使用します。

コマンド メソッドの最初の部分

1. -r はコマンドを複数回繰り返すことを意味します

$redis-cli -r 3 ping

PONG

PONG

PONG
ログイン後にコピー

ping コマンドを使用すると、 redis インスタンスが生きている 生きている場合は PONG を表示します。

2. -i

コマンドを数秒ごとに実行します (10ms などのミリ秒を使用する場合は、0.01 を記述します) -r と併用する必要があります。

$redis-cli -r 3 -i 1 ping

PONG

PONG

PONG
ログイン後にコピー
$redis-cli -r 10 -i 1 info|grep used_memory_human

used_memory_human:2.95G

.....................................

used_memory_human:2.95G

每隔1秒输出内存的使用量,一共输出10次。



$redis-cli -h ip -p port info server|grep process_id

process_id:999

获取redis的进程号999
ログイン後にコピー

3, -x

は、コマンドの最後のパラメータとして標準入力からデータを読み取ることを表します。

$echo "world" |redis-cli -x set hello

Ok
ログイン後にコピー

4, -c

クラスター ノードに接続するときに使用されます。このオプションは、移動を防止し、例外を要求することができます。

5, -a

パスワードが設定されている場合は、オプション a を使用できます。

6、-scan および -pattern

は、指定されたパターンのキーをスキャンするために使用され、scan コマンドと同等です。

7. –slave

現在のクライアントが現在の Redis ノードのスレーブ ノードとしてシミュレートされる場合、それを使用して現在の Redis ノードの更新操作を取得できます。合理的に使用すると、現在接続されている Redis ノードの更新操作を記録することができ、これらの更新はビジネス開発に必要なデータとなる可能性があります。

8. –rdb

は、RDB 永続化ファイルを生成して送信し、ローカルに保存するように Redis インスタンスに要求します。定期的なバックアップが可能です。

9. –pipe

コマンドを Redis 通信プロトコルで定義されたデータ形式にカプセル化し、バッチで実行するために Redis に送信します。

10. –bigkeys

bigkey の分布を統計し、scan コマンドを使用して Redis キーをサンプリングし、大量のメモリを占有しているキーを見つけます。これらのキーがボトルネックになっている可能性があります。システムの。

11. –eval

は、lua スクリプトの実行に使用されます

12. –latency

には、-latency、-latency-history、-latency-history の 3 つのオプションがあります。 – レイテンシー距離。これらは、さまざまな形で現れるネットワーク遅延を検出します。

13. –stat

は、redis の重要な統計情報をリアルタイムで取得できます。 info コマンドは比較的完全ですが、リクエスト (1 秒あたりのリクエスト数)

14、-raw および -no-raw

-no-raw 要件などの追加データがここで確認できます。元の形式に戻します。 –raw は書式設定効果を表示します。

パート 2

redis-cli には多くのコマンドがあります。例:

接続操作に関連するコマンド:

1. デフォルトの直接接続 リモート接続 -h 192.168.1.20 -p 6379

2. Ping: 接続が確立されているかどうかをテストします。正常であれば生きています。 pong

3 を返します。 echo: print

4、select: 指定されたデータベースに切り替えます。 データベースのインデックス番号 Index は数値で指定され、0 が使用されます

5. quit: 接続を閉じる

6. auth: 単純なパスワード認証

サーバー関連コマンド:

1. time : 現在のサーバー時刻を返します

2. client list: サーバーに接続されているすべてのクライアント情報と統計データを返します。

3 を参照してください。http://redisdoc.com/server/client_list。 html

4. client kill ip:port: アドレス ip:port

5 を持つクライアントを閉じます。 save: データをディスクに同期的に保存します。

6. bgsave : データをディスクに非同期的に保存します

7. lastsave: 最後にデータがディスクに正常に保存されたときの Unix タイムスタンプを返します。

8. shhundown: データをディスクに同期的に保存してから、

9. info: サーバー情報と統計情報を提供します

10. config replacestat: info コマンドで特定の統計データをリセットします

11. config get: 取得設定ファイル情報

12. config set: 再起動せずに Redis サーバーの設定を動的に調整します。変更できる設定パラメータは、コマンド

13. CONFIG GET * # を使用して一覧表示できます。

##14. 設定の書き換え: Redis サーバーで指定された redis.conf ファイルを書き換えます

15. 監視: 受信したリクエストのリアルタイム ダンプ

16. スレーブオブ:レプリケーション ポリシー設定

パブリッシュおよびサブスクライブ関連コマンド:

1. psubscribe: psubscribe news など、指定されたパターンに一致する 1 つ以上のチャネルをサブスクライブします。* tweet.*

2.publish: 指定したチャネル チャネルに情報メッセージを送信します (例:publish msg "good breakfast"

3、pubsub チャネル: PUBSUB CHANNELS news.i*

など、現在アクティブなチャネルを一覧表示します)

4、pubsub numsub: 指定されたチャンネルに戻ります。 購読者数 (例: PUBSUB NUMSUB news.it news.internet news.sport

news.music

5、pubsub numpat) : クライアントによってサブスクライブされたすべてのモードの数の合計を返します

6. punsubscribe: クライアントに、指定されたすべてのモードからサブスクライブを解除するように指示します。

7. 購読: 1 つ以上の指定されたチャネルの情報を購読します。たとえば、subscribe msg chat_room

8, unsubscribe: クライアントに指定されたチャネルからのサブスクライブを解除するように指示します。

KEY 操作のコマンド:

1、exists(key):确认一个key是否存在

2、del(key):删除一个key

3、type(key):返回值的类型

4、keys(pattern):返回满足给定pattern的所有key

5、randomkey:随机返回key空间的一个

6、keyrename(oldname, newname):重命名key

7、dbsize:返回当前数据库中key的数目

8、expire:设定一个key的活动时间(s)

9、ttl:获得一个key的活动时间

10、move(key, dbindex):移动当前数据库中的key到dbindex数据库

11、flushdb:删除当前选择数据库中的所有key

12、flushall:删除所有数据库中的所有key

对String操作的命令:

1、set(key, value):给数据库中名称为key的string赋予值value

2、get(key):返回数据库中名称为key的string的value

3、getset(key, value):给名称为key的string赋予上一次的value

4、mget(key1, key2,…, key N):返回库中多个string的value

5、setnx(key, value):添加string,名称为key,值为value

6、setex(key, time, value):向库中添加string,设定过期时间time

7、mset(key N, value N):批量设置多个string的值

8、msetnx(key N, value N):如果所有名称为key i的string都不存在

9、incr(key):名称为key的string增1操作

10、incrby(key, integer):名称为key的string增加integer

11、decr(key):名称为key的string减1操作

12、decrby(key, integer):名称为key的string减少integer

13、append(key, value):名称为key的string的值附加value

14、substr(key, start, end):返回名称为key的string的value的子串

对List操作的命令:

1、rpush(key, value):在名称为key的list尾添加一个值为value的元素

2、lpush(key, value):在名称为key的list头添加一个值为value的 元素

3、llen(key):返回名称为key的list的长度

4、lrange(key, start, end):返回名称为key的list中start至end之间的元素

5、ltrim(key, start, end):截取名称为key的list

6、lindex(key, index):返回名称为key的list中index位置的元素

7、lset(key, index, value):给名称为key的list中index位置的元素赋值

8、lrem(key, count, value):删除count个key的list中值为value的元素

9、lpop(key):返回并删除名称为key的list中的首元素

10、rpop(key):返回并删除名称为key的list中的尾元素

11、blpop(key1, key2,… key N, timeout):lpop命令的block版本。

12、brpop(key1, key2,… key N, timeout):rpop的block版本。

13、rpoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部

对Set操作的命令:

1、sadd(key, member):向名称为key的set中添加元素member

2、srem(key, member) :删除名称为key的set中的元素member

3、spop(key) :随机返回并删除名称为key的set中一个元素

4、smove(srckey, dstkey, member) :移到集合元素

5、scard(key) :返回名称为key的set的基数

6、sismember(key, member) :member是否是名称为key的set的元素

7、sinter(key1, key2,…key N) :求交集

8、sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合

9、sunion(key1, (keys)) :求并集

10、sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合

11、sdiff(key1, (keys)) :求差集

12、sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合

13、smembers(key) :返回名称为key的set的所有元素

14、srandmember(key) :随机返回名称为key的set的一个元素

对Hash操作的命令

1、hset(key, field, value):向名称为key的hash中添加元素field

2、hget(key, field):返回名称为key的hash中field对应的value

3、hmget(key, (fields)):返回名称为key的hash中field i对应的value

4、hmset(key, (fields)):向名称为key的hash中添加元素field

5、hincrby(key, field, integer):将名称为key的hash中field的value增加integer

6、hexists(key, field):名称为key的hash中是否存在键为field的域

7、hdel(key, field):删除名称为key的hash中键为field的域

8、hlen(key):返回名称为key的hash中元素个数

9、hkeys(key):返回名称为key的hash中所有键

10、hvals(key):返回名称为key的hash中所有键对应的value

11、hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value

实例

query在线分析

redis-cli MONITOR | head -n 5000 | ./redis-faina.py
ログイン後にコピー

监控正在请求执行的命令

在cli下执行monitor,生产环境慎用。

模拟oom

redis-cli debug oom
ログイン後にコピー

模拟宕机

redis-cli debug segfault
ログイン後にコピー

模拟hang

redis-cli -p 6379 DEBUG sleep 30
ログイン後にコピー

获取慢查询

SLOWLOG GET 10
ログイン後にコピー

结果为查询ID、发生时间、运行时长和原命令 默认10毫秒,默认只保留最后的128条。单线程的模型下,一个请求占掉10毫秒是件大事情,注意设置和显示的单位为微秒,注意这个时间是不包含网络延迟的。

slowlog get 获取慢查询日志

slowlog len 获取慢查询日志条数

slowlog reset 清空慢查询

配置:

config set slow-log-slower-than 20000
config set slow-max-len 1000
config rewrite
ログイン後にコピー

更多redis知识请关注PHP中文网redis教程栏目。

以上がredis cliコマンドの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート