Redis常用指令
> ./redis-cli -a 0123456
?
> ./redis-serverOK> auth 0123456
2. Select: 选择需要使用的database索引号,数据可以被保存在不同的db中,但是不能跨db读取。db索引号的最大值受限于redis.conf中“databases 16”。
redis 127.0.0.1:6379> select 6OKredis 127.0.0.1:6379[6]> set k1 v1OKredis 127.0.0.1:6379[6]> get k1"v1"redis 127.0.0.1:6379[6]> select 7OKredis 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 10240000OKredis 127.0.0.1:6379[7]> Config get maxmemory1) "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 client2OKredis 127.0.0.1:6379> client listaddr=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=clientaddr=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 21) 1) (integer) 14 2) (integer) 1309448221 3) (integer) 15 4) 1) "ping"##1)为slowlog的全局ID2)日志记录的时间戳3)客户端操作被执行的微秒数4)客户端指令信息,包括指令名称和参数列表。
??? 2) slowlog reset:重置slowlog统计
14. Time: 获得当前server的本地时间。
15. Monitor: 监控当前server中所有client操作
redis 127.0.0.1:6379> monitorOK1371008404.211519 [7 127.0.0.1:40699] "set" "k2" "v2"1371008493.004758 [7 127.0.0.1:40699] "del" "k2"
?