>데이터 베이스 >Redis >redis cli 명령어에 대한 자세한 설명

redis cli 명령어에 대한 자세한 설명

尚
앞으로
2020-03-09 10:16:1813456검색

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 지속성 파일 감지 도구

5 . redis-check-dump RDB 영구 파일 탐지 도구 및 복구 도구

6. redis-sentinel redis-sentinel 시작

2. Redis 서버에 연결하는 방법에는 두 가지가 있습니다.

첫 번째 방법: 대화형 방법

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"

두 번째 방법: 명령 방법

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부 명령 방법

1. -r은 명령을 여러 번 반복한다는 의미입니다.

$redis-cli -r 3 ping

PONG

PONG

PONG

ping 명령을 사용하면 redis 인스턴스가 살아 있는지 여부를 확인할 수 있습니다.

2. -i

몇 초마다 명령을 실행합니다(10ms 등 ms를 사용하려면 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

는 Redis 인스턴스에 RDB 지속성 파일을 생성 및 전송하고 로컬에 저장하도록 요청합니다. 정기적인 백업이 가능합니다.

9. –pipe

명령을 Redis 통신 프로토콜에서 정의한 데이터 형식으로 캡슐화하고 일괄 실행을 위해 Redis로 보냅니다.

10. –bigkeys

bigkey 분포를 통계하고, scan 명령을 사용하여 Redis 키를 샘플링하고, 많은 양의 메모리를 차지하는 키를 찾습니다.

11. –eval

은 Lua 스크립트를 실행하는 데 사용됩니다.

12. –latency

에는 –latency, –latency-history 및 –latency-dist의 세 가지 옵션이 있습니다. 다양한 방식으로 나타나는 네트워크 대기 시간을 감지합니다.

13. –stat

Redis의 중요한 통계 정보를 실시간으로 얻을 수 있습니다. info 명령은 비교적 완전하지만 여기에서 요청(초당 요청 수)

14, –raw 및 –no-raw

–no-raw와 같은 일부 추가된 데이터를 볼 수 있으며 원래 형식으로 돌아가야 합니다. –raw는 서식 효과를 표시합니다.

2부

redis-cli에는 많은 명령이 있습니다. 예:

연결 작업과 관련된 명령:

1. 기본 직접 연결 원격 연결 -h 192.168.1.20 -p 6379

2 ping: 연결이 활성 상태인지 테스트하고 정상이면 퐁을 반환합니다

3. echo: print

4. select: 지정된 데이터베이스로 전환하고, 데이터베이스 인덱스 번호 인덱스는 숫자 값으로 지정되며, 시작 인덱스 값은 0으로 사용됩니다

5. quit: 연결을 닫습니다

6. : 단순 비밀번호 인증

server 관련 명령:

1. time: 현재 서버 시간을 반환합니다.

2. 클라이언트 목록: 서버에 연결된 모든 클라이언트 정보 및 통계 데이터를 반환합니다.

3. .com/server/client_list.html

4. client kill ip:port: ip:port 주소로 클라이언트를 닫습니다.

5. save: 데이터를 디스크에 동기적으로 저장합니다.

6. bgsave: 데이터를 디스크에 비동기적으로 저장합니다.

7. lastsave: 마지막으로 데이터가 디스크에 성공적으로 저장된 시점의 Unix 타임스탬프를 반환합니다. shundown: 데이터를 디스크에 동기적으로 저장한 다음 서비스를 종료합니다.

9. 정보: 서버 정보 및 통계를 제공합니다. 10. config Resetstat: 재설정 정보

11.config get: 구성 파일 정보 가져오기

12. config set: 다시 시작하지 않고도 Redis 서버의 구성을 동적으로 조정할 수 있습니다.

13, CONFIG GET * 명령을 사용하여 수정하세요. config rewrite: Redis 서버에 지정된 redis.conf 파일을 다시 작성하세요.

15. 모니터: 수신된 요청의 실시간 덤프

16. : 복제 정책 설정 변경

게시 및 구독 관련 명령:

1. psubscribe: psubscribe news.* tweet.*

2와 같이 특정 패턴과 일치하는 하나 이상의 채널을 구독합니다. pubsub 채널: PUBSUB CHANNELS news.i*

4와 같은 현재 활성 채널을 나열합니다. pubsub numsub: 특정 채널의 구독자 수를 반환합니다. , 예: PUBSUB NUMSUB news.it news.internet news.sport

news.music

5. pubsub numpat: 클라이언트가 구독한 모든 모드 수의 합계를 반환합니다. punsubscribe: 클라이언트에게 구독을 취소하도록 지시합니다. 모든 주어진 모드에서.

7. 구독: 하나 이상의 특정 채널에 대한 정보를 구독합니다. 예를 들어, subscribe msg chat_room

8, unsubscribe: 클라이언트에게 해당 채널의 구독을 취소하도록 지시합니다.

주요 작업 명령:

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제