Heim  >  Artikel  >  Datenbank  >  Detaillierte Erläuterung des Redis-CLI-Befehls

Detaillierte Erläuterung des Redis-CLI-Befehls

尚
nach vorne
2020-03-09 10:16:1813369Durchsuche

Detaillierte Erläuterung des Redis-CLI-Befehls

1. Nach der Installation von Redis gibt es unter src und /usr/local/bin mehrere ausführbare Dateien, die als Redis-Shell bezeichnet werden.

1. Redis-Server startet Redis

2. Redis-Cli-Redis-Befehlszeilentool

4. redis-check-aof Tool zur Erkennung und Reparatur persistenter AOF-Dateien

5. redis-check-dump Tool zur Erkennung und Reparatur persistenter RDB-Dateien

6 🎜>

2. Es gibt zwei Möglichkeiten, eine Verbindung zum Redis-Server herzustellen.

Erster Weg: interaktiver Modus

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"

Zweiter Weg: Befehlsmodus

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

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

"world"

redis-cli enthält viele Parameter, wie z. B. -h, -p, die Sie verstehen müssen Für alle Parameter verwenden Sie den Befehl redis-cli -help.

Der erste Teil der Befehlsmethode

1. -r bedeutet, den Befehl mehrmals zu wiederholen

$redis-cli -r 3 ping

PONG

PONG

PONG

Der Ping-Befehl kann verwendet werden, um zu erkennen, ob der Die Redis-Instanz ist aktiv. Wenn sie aktiv ist, wird PONG angezeigt.

2. -i

Führen Sie alle paar Sekunden einen Befehl aus (wenn Sie ms verwenden möchten, z. B. 10 ms, schreiben Sie 0,01), er muss zusammen mit -r verwendet werden.

$redis-cli -r 3 -i 1 ping

PONG

PONG

PONG
rrree

3, -x

stellt das Lesen von Daten aus der Standardeingabe als letzten Parameter des Befehls dar.

$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

4, -c

Wird beim Herstellen einer Verbindung mit Clusterknoten verwendet. Diese Option kann Verschiebungen verhindern und Ausnahmen stellen.

5. -a

Wenn ein Passwort konfiguriert ist, kann Option a verwendet werden.

6. –scan und –pattern

werden zum Scannen der Schlüssel des angegebenen Musters verwendet, äquivalent zum Scan-Befehl.

7. –slave

Wenn der aktuelle Client den Slave-Knoten des aktuellen Redis-Knotens simuliert, kann er verwendet werden, um den Aktualisierungsvorgang des aktuellen Redis-Knotens abzurufen. Bei angemessener Nutzung können einige Aktualisierungsvorgänge des aktuell verbundenen Redis-Knotens aufgezeichnet werden. Bei diesen Aktualisierungen handelt es sich möglicherweise um Daten, die für die Geschäftsentwicklung benötigt werden.

8. –rdb

fordert die Redis-Instanz auf, RDB-Persistenzdateien zu generieren, zu senden und diese lokal zu speichern. Es können regelmäßige Backups erstellt werden.

9. –pipe

Kapseln Sie den Befehl in das durch das Redis-Kommunikationsprotokoll definierte Datenformat und senden Sie ihn stapelweise zur Ausführung an Redis.

10. –bigkeys

Statistik der Verteilung von Bigkeys, Verwendung des Scan-Befehls, um die Redis-Schlüssel abzutasten und die Schlüssel zu finden, die viel Speicher belegen des Systems.

11. –eval

wird zum Ausführen von Lua-Skripten verwendet

12. –latency

hat drei Optionen: –latency, –latency-history, – Latenzdistanz. Sie erkennen Netzwerklatenz, die sich auf unterschiedliche Weise äußert.

13. –stat

kann wichtige statistische Informationen von Redis in Echtzeit abrufen. Obwohl der Info-Befehl relativ vollständig ist, können Sie hier einige hinzugefügte Daten sehen, wie z. B. Anforderungen (Anfragen pro Sekunde)

14, –raw und –no-raw

–no-raw-Anforderungen Zurück zum Originalformat. –raw zeigt Formatierungseffekte an.

Teil 2

Es gibt viele Redis-Cli-Befehle. Zum Beispiel

Befehle im Zusammenhang mit Verbindungsvorgängen:

1. Standard-Direktverbindung Remote-Verbindung -h 192.168.1.20 -p 6379

2 ist aktiv, wenn normal. Gibt pong zurück

3. echo: print

4. Wechseln Sie zur angegebenen Datenbank, der Index der Datenbankindex wird mit einem numerischen Wert angegeben und 0 wird verwendet als Startindexwert

5. Beenden: Verbindung schließen

6. Serverbezogene Befehle:

1 : Gibt die aktuelle Serverzeit zurück

2. Client-Liste: Gibt alle mit dem Server verbundenen Client-Informationen und Statistiken zurück. Siehe

3

4. client kill ip:port: Schließen Sie den Client mit der Adresse ip:port

5. save: Daten synchron auf Festplatte speichern

6. bgsave: asynchron speichern Daten auf Festplatte

7. lastsave: Gibt den Unix-Zeitstempel des letzten Mals zurück, als Daten erfolgreich auf Festplatte gespeichert wurden

8. Shundown: Speichert Daten synchron auf Festplatte und schließt dann den Dienst

9. info: Serverinformationen und Statistiken bereitstellen

10. config resetstat: Bestimmte Statistiken im Info-Befehl zurücksetzen

11. config get: Informationen zur Konfigurationsdatei abrufen

12. Konfigurationssatz: Passen Sie die Konfiguration des Redis-Servers dynamisch an, ohne neu zu starten. Die Konfigurationsparameter können mit dem Befehl

13 aufgelistet werden umschreiben: die auf dem Redis-Server angegebene redis.conf-Datei umschreiben

15. Überwachen: Empfangene Anforderungen in Echtzeit sichern

16 >Befehle zum Veröffentlichen und Abonnieren:

1. psubscribe: Abonnieren Sie einen oder mehrere Kanäle, die einem bestimmten Muster entsprechen, z. B. psubscribe news.* tweet.*

2 Nachricht an den angegebenen Kanal, z. B. Veröffentlichungsnachricht „Guten Morgen“

3. Pubsub-Kanäle: Listen Sie die aktuell aktiven Kanäle auf, z. B. PUBSUB CHANNELS news.i*

4. Gibt den angegebenen Kanal zurück. Die Anzahl der Abonnenten, z. B. PUBSUB NUMSUB news.it news.internet news.sport

news.music

5. Pubsub numpat: Gibt die Summe der Anzahl aller Modi zurück vom Kunden abonniert

6. punsubscribe: Weisen Sie den Kunden an, sich von allen angegebenen Modi abzumelden.

7. Abonnieren: Abonnieren Sie die Informationen eines oder mehrerer bestimmter Kanäle. Beispiel: abonnieren Sie die Nachricht chat_room

8. Abmelden: Weisen Sie den Kunden an, sich vom angegebenen Kanal abzumelden.

Befehle für KEY-Operationen:

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教程栏目。

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Redis-CLI-Befehls. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen