ssdb的导入导出
ssdb导入导出有两种方式。
1:通过ssdb-cli
导出整个数据库:
# backup current database into file backup.ssdb
ssdb 127.0.0.1:8888> export backup.ssdb
按照 Key 区间导出数据库(交互模式):
命令 export -i backup.ssdb
将导出区间 [a, z] 内的 KV, 所有的 HASH, ZSET, QUEUE.
ssdb 127.0.0.1:8888> export -i backup.ssdb
input KV range[start, end]:
start(inclusive, default none): a
end(inclusive, default none): z
input HASH range:
start(inclusive, default none):
end(inclusive, default none):
input ZSET range:
start(inclusive, default none):
end(inclusive, default none):
input QUEUE range:
start(inclusive, default none):
end(inclusive, default none):
导入
#import backup.ssdb into current database
ssdb 127.0.0.1:8888> import backup.ssdb
2.通过ssdb-dump
用法:
./tools/ssdb-dump ip port output_folder
选项:
- ip - ssdb 服务器监听的 IP 地址
- port - ssdb 服务器监听的端口号
- output_folder - 将要创建备份数据的本地目录
示例:
./tools/ssdb-dump 127.0.0.1 8888 ./output_folder
目录 output_folder
必须不存在, 因为 ssdb-dump 会创建这个目录. 导出之后, 这个目录里将有两个子目录, data
目录里包含着数据, 还有一个空的 meta
目录.
恢复
将 output_folder
目录拷贝到你的服务器上面, 你可能需要将它改名. 然后修改你的 ssdb.conf 配置文件, 将 work_dir
指向output_folder
目录, 然后重启 ssdb-server.
代码实现:
可以先修改ssdb.conf的work_dir指向固定一个备份目录,通过web页面导出到一个tar包,然后页面再导入到固定目录下,实现ssdb库的备份。