client kill all

删除全部的客户端

  1. xxx.qihoo.net:8221> client kill all
  2. OK
  3. xxx.qihoo.net:8221>

bgsave

执行方式和redis一样。但是异步dump完后,数据库保存在dump_path目录下,dump出来的数据库包含dump_prefix和dump时间等信息;

  1. xxx.qihoo.net:8221> BGSAVE
  2. 20160422134755 : 2213: 32582292

返回的信息包括dump的时间(20160422134755)和当前的binlog位置,即文件号:偏移量(2213: 32582292)

  1. xxx.qihoo.net # ll /data3/pika_test/dump/
  2. 总用量 0
  3. drwxr-xr-x 1 root root 42 4 22 13:47 pika8221-20160422

"/data3/pika_test/dump/"是dump的路径,"pika9221-"为dump_prefix,20160422是dump的日期

delbackup

删除dump目录下除正在使用(全同步中)的db快照外的其他快照

  1. xxx.qihoo.net:8221> DELBACKUP
  2. OK

info keyspace

执行方式是“info keyspace 1”,“info keyspace 0”和”info keyspace“, “info keyspace”和“info keyspace 0”等价;info keyspace 1: 异步开始一次keyspace的扫描,并返回已完成的上一次keyspace扫描的结果info keyspace 0: 返回已完成的上一次keyspace扫描的结果

  1. xxx.qihoo.net:8221> info keyspace 1
  2. # Keyspace
  3. # Time:1970-01-01 08:00:00
  4. kv keys:0
  5. hash keys:0
  6. list keys:0
  7. zset keys:0
  8. set keys:0
  9. xxx.qihoo.net:8221> info keyspace
  10. # Keyspace
  11. # Time:2016-04-22 13:45:54
  12. kv keys:13
  13. hash keys:0
  14. list keys:0
  15. zset keys:0
  16. set keys:0

config get/set *

config get和config set的用法和redis是一样的,但是选项可能会有所不同,所以配了两个命令

  • config get *
  • config set *用于分别列出config get和config set所能操作的选项
    1. xxx.qihoo.net:8221> config get *
    2. 1) "port"
    3. 2) "thread_num"
    4. 3) "log_path"
    5. 4) "log_level"
    6. 5) "db_path"
    7. 6) "maxmemory"
    8. 7) "write_buffer_size"
    9. 8) "timeout"
    10. 9) "requirepass"
    11. 10) "userpass"
    12. 11) "userblacklist"
    13. 12) "daemonize"
    14. 13) "dump_path"
    15. 14) "dump_prefix"
    16. 15) "pidfile"
    17. 16) "maxconnection"
    18. 17) "target_file_size_base"
    19. 18) "expire_logs_days"
    20. 19) "expire_logs_nums"
    21. 20) "root_connection_num"
    22. 21) "slowlog_log_slower_than"
    23. 22) "slave-read-only"
    24. 23) "binlog_file_size"
    25. 24) "compression"
    26. 25) "db_sync_path"
    27. 26) "db_sync_speed"
    28. xxx.qihoo.net:8221> config set *
    29. 1) "log_level"
    30. 2) "timeout"
    31. 3) "requirepass"
    32. 4) "userpass"
    33. 5) "userblacklist"
    34. 6) "dump_prefix"
    35. 7) "maxconnection"
    36. 8) "expire_logs_days"
    37. 9) "expire_logs_nums"
    38. 10) "root_connection_num"
    39. 11) "slowlog_log_slower_than"
    40. 12) "slave-read-only"
    41. 13) "db_sync_speed"
    42. bada06.add.zwt.qihoo.net:8221>

compact

因为pika底层存储引擎是基于rocksdb改造来的,会存在读写和空间放大的问题,除了rocksdb的自动compaction,pika也设置了一个手动compaction的命令,以强制compact整个kespace内的内容

  1. xxx.qihoo.net:8221> compact
  2. OK

一般keyspace比较大时,执行完compact命令后,占用空间会显著减小,但是耗时比较长,对读写性能也有影响,所以建议在流量不大的情况下执行

readonly

该命令用户设置服务器的写权限;执行方式为:1)“readonly on”2)“readonly off”3)“readonly 1”4)“readonly 0”其中1)和3)等价,2)和4)等价

  1. xxx.qihoo.net:8221> set a b
  2. OK
  3. xxx.qihoo.net:8221> get a
  4. "b"
  5. xxx.qihoo.net:8221> readonly 1
  6. OK
  7. xxx.qihoo.net:8221> set a c
  8. (error) ERR Server in read-only
  9. xxx.qihoo.net:8221> get a
  10. "b"
  11. xxx.qihoo.net:8221> readonly 0
  12. OK
  13. xxx.qihoo.net:8221> set a c
  14. OK
  15. xxx.qihoo.net:8221> get a
  16. "c"
  17. xxx.qihoo.net:8221>

原文: https://github.com/Qihoo360/pika/wiki/pika%E7%9A%84%E4%B8%80%E4%BA%9B%E7%AE%A1%E7%90%86%E5%91%BD%E4%BB%A4%E6%96%B9%E5%BC%8F%E8%AF%B4%E6%98%8E