SSDB 命令行工具 ssdb-cli


SSDB 的命令行工具 ssdb-cli 对于 SSDB 的管理非常有用, 你可以用它来执行所有的命令, 监控服务的状态, 清除整个数据库, 等等.

连接到 SSDB 服务器

$ /usr/local/ssdb/ssdb-cli -h 127.0.0.1 -p 8888
ssdb (cli) - ssdb command line tool.
Copyright (c) 2012-2013 ideawu.com

'h' or 'help' for help, 'q' to quit.


ssdb 127.0.0.1:8888>

输入 'h', 然后按回车查看帮助信息. 下面是操作的演示:

ssdb 127.0.0.1:8888> set k 1ok(0.000 sec)ssdb 127.0.0.1:8888> get k1
(0.000 sec)ssdb 127.0.0.1:8888> del kok(0.000 sec)ssdb 127.0.0.1:8888> get kerror: not_found(0.000 sec)ssdb 127.0.0.1:8888>

对于 Windows 用户:

在 ssdb-master 源码的目录时运行

tools\ssdb-cli.bat

需要安装 Python 2.x, 同时, 你需要将 Python 的目录加入到环境变量中的 Path 变量.

转义响应中的中文和二进制数据

如果你执行完命令后发现有乱码或者屏幕输出异常, 可以把下面这行命令拷贝进 ssdb-cli 然后按回车键:

: escape

监控 SSDB 实例的状态

info

命令 info 显示了数据在 SSDB 中的分布情况, 还有 LevelDB 的健康程度.

ssdb 127.0.0.1:8899> infoversion
    1.8.0links
    1total_calls
    4dbsize
    1829binlogs    capacity : 10000000    min_seq  : 1    max_seq  : 74replication    client 127.0.0.1:55479        type     : sync        status   : SYNC        last_seq : 73replication    slaveof 127.0.0.1:8888        id         : svc_2        type       : sync        status     : SYNC        last_seq   : 73        copy_count : 0        sync_count : 44leveldb.stats                     CompactionsLevel  Files Size(MB) Time(sec) Read(MB) Write(MB)0        0        0         0        0         0  1        1        0         0        0         0

25 result(s) (0.001 sec)

links

当前服务器的连接数.

dbsize

数据库预估的大小(可能和硬盘占用差异非常大), 字节数. 如果服务器开启了压缩, 这个大小是压缩后的大小.

binlogs

  • 参见 同步和复制

replication

  • 参见 同步和复制

key_range.

不同数据类型的 key 在 SSDB 中是排序的, 所以这个信息表示不同数据类型的最小 key 和最大 key.

leveldb.stats

这个信息显示了 LevelDB 每一层级的文件数量和文件总大小. 越小的层级如果文件越少, 那么数据库就越健康(查询更快速).

info cmd

ssdb 127.0.0.1:8899> info cmdversion
    1.6.7cmd.get    calls: 20000    time_wait: 27   time_proc: 472cmd.set    calls: 267045   time_wait: 7431 time_proc: 7573cmd.setx    calls: 111100   time_wait: 3663 time_proc: 6456cmd.del    calls: 0    time_wait: 0    time_proc: 0

cmd.

  • calls: 该命令总共处理了多少次.
  • time_wait: 命令在被处理前等待的总共时间(单位毫秒).
  • time_proc: 命令处理总共消耗的时间(单位毫秒).

compact

这个命令强制 SSDB 服务器对数据进行收缩(compaction), 收缩之后, 操作通常会变得更快.

但是, compact 的过程可能会拖慢正常服务, 特别是是当数据库比较大时. 所以, 建议在空闲时使用.

SSDB 图形界面工具

你可以尝试下图形界面(GUI)的 SSDB 管理工具:

  • phpssdbadmin - PHP 开发的 SSDB GUI 管理工具, 类似 phpmyadmin.
  • FastoNoSQL - 跨平台的 SSDB, Redis, Memcached GUI 管理工具.