MyException - 我的异常网
当前位置:我的异常网» 软件架构设计 » Redis惯用指令

Redis惯用指令

www.MyException.Cn  网友分享于:2013-06-27  浏览:7次
Redis常用指令

 

    Redis提供了大量的指令用来查看server信息的指令,此文仅作总结:

 

1. Auth: 与需要密码验证的server进行链接,有两种方式:

> ./redis-cli -a 0123456

 

> ./redis-server
OK
> auth 0123456

2. Select: 选择需要使用的database索引号,数据可以被保存在不同的db中,但是不能跨db读取。db索引号的最大值受限于redis.conf中“databases 16”。

redis 127.0.0.1:6379> select 6
OK
redis 127.0.0.1:6379[6]> set k1 v1
OK
redis 127.0.0.1:6379[6]> get k1
"v1"
redis 127.0.0.1:6379[6]> select 7
OK
redis 127.0.0.1:6379[7]> get k1
(nil)
redis 127.0.0.1:6379[7]> 

    其中“Dbsize”指令将会返回当前db中k-v的个数。

3. Bgrewriteaof:  触发一个后端线程来执行aof-rewrite,并生成新的aof文件。如果此时snaphot正在执行,那么aof-rewrite操作将会被“schedule”。如果此时已经有aot-write在“schedule”或者正在执行,那么此次“bgrewriteaof”将会被驳回且返回error。

4. Config Set/get: 重置server配置项参数,修改后的配置项将会立即生效,直到server失效或者重启。

redis 127.0.0.1:6379[7]> Config set maxmemory 10240000
OK
redis 127.0.0.1:6379[7]> Config get maxmemory
1) "maxmemory"
2) "10240000"
redis 127.0.0.1:6379[7]> 

5. Flushall: 清除所有database中的数据。

6. Flushdb: 清空当前databse中的数据。

7. Shutdown: 关闭server,此指令接受2种模式,“shutdown save”和“shutdown nosave”:

    1) shutdown save:终止所有的client操作,强制执行一次snaptshot,然后关闭server。

    2) shutdown nosave:终止所有的client操作,不进行任何snapshot即使配置了snapshot方式,然后关闭server。

    在这两种方式中,如果配置了aof的同步方式,都会触发aof记录同步到磁盘。

8. Bgsave: 启动后端线程,执行一次snapshot操作并生成rdb文件。同时还有个指令为“save”,此指令为同步操作,即在snapshot时将会阻塞所有的client变更操作。

    其中“Lastsave”指令可以获得“bgsave”执行成功的时间。

9. Slaveof: 将当前server转换为slave,并为其指定master信息,“slaveof masterip masterport”;也可以使用“slaveof no one”将此slave提升为master(即不跟随任何master/slave)。

10. Client:

    1) Client setname <name>:设置当前客户端链接的名称。

    2) Client getname:获取当前客户端链接的名称

    3) Client list:获取与当前server链接的所有client列表,将会展示每个client的远端ip+port,以及server端与此链接有关的数据buffer信息,对调试以及链接监控很有用。

redis 127.0.0.1:6379> client setname client2
OK
redis 127.0.0.1:6379> client list
addr=127.0.0.1:40699 fd=5 name=client1 age=4226 idle=43 flags=N db=7 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=client
addr=127.0.0.1:43041 fd=6 name=client2 age=22 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client

    4) Client kill <ip:port>:通过上述client list我们能过获得当前server的所有client链接,如果希望关闭某个client,可以使用kill子指令,例如:client kill 127.0.0.1:40699,此后远端为40699的客户端将断开链接,需要重新建立链接。

11. Info: 获取server的所有统计数据,以及server的replication信息,监控server的利器。

12. Config reststat: 重置“Info”指令的相关统计数据。

13. Slowlog: 监测server中关于慢速操作的日志,slowlog的配置信息请参见redis.conf。

##当操作执行的时间超过指定值时,将会被记录为“slowlog”,单位“微秒”
slowlog-log-slower-than 10000
##slovlog队列中允许持有的日志条数,日志将会被保存在内存中,超过此值时,先前的log将会被移除。
slowlog-max-len 128

    1) slowlog get <len>:获取指定长度的slowlog信息:

redis 127.0.0.1:6379> slowlog get 2
1) 1) (integer) 14
   2) (integer) 1309448221
   3) (integer) 15
   4) 1) "ping"

##
1)为slowlog的全局ID
2)日志记录的时间戳
3)客户端操作被执行的微秒数
4)客户端指令信息,包括指令名称和参数列表。

    2) slowlog reset:重置slowlog统计

14. Time: 获得当前server的本地时间。

15. Monitor: 监控当前server中所有client操作

redis 127.0.0.1:6379> monitor
OK
1371008404.211519 [7 127.0.0.1:40699] "set" "k2" "v2"
1371008493.004758 [7 127.0.0.1:40699] "del" "k2"

 

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有