Auth:与需要密码验证的server进行链接,有两种方式:
- > ./redis-cli -a 0123456
- > ./redis-server
- OK
- > auth 0123456
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的个数。
bgrewriteaof: 触发一个后端线程来执行aof-rewrite,并生成新的aof文件。如果此时snaphot正在执行,那么aof-rewrite操作将会被“schedule”。如果此时已经有aot-write在“schedule”或者正在执行,那么此次“bgrewriteaof”将会被驳回且返回error。
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]>
Flushall: 清除所有database中的数据。
Flushdb: 清空当前databse中的数据。
Shutdown: 关闭server,此指令接受2种模式,“shutdown save”和“shutdown nosave”:
1) shutdown save:终止所有的client操作,强制执行一次snaptshot,然后关闭server。
2) shutdown nosave:终止所有的client操作,不进行任何snapshot即使配置了snapshot方式,然后关闭server。
在这两种方式中,如果配置了aof的同步方式,都会触发aof记录同步到磁盘。
Bgsave: 启动后端线程,执行一次snapshot操作并生成rdb文件。同时还有个指令为“save”,此指令为同步操作,即在snapshot时将会阻塞所有的client变更操作。
其中“Lastsave”指令可以获得“bgsave”执行成功的时间。
Slaveof: 将当前server转换为slave,并为其指定master信息,“slaveof masterip masterport”;也可以使用“slaveof no one”将此slave提升为master(即不跟随任何master/slave)。
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的客户端将断开链接,需要重新建立链接。
Info: 获取server的所有统计数据,以及server的replication信息,监控server的利器。
Config reststat: 重置“Info”指令的相关统计数据。
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统计
Time: 获得当前server的本地时间。
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"