最近公司的项目使用了redis来当简单的数据库,因为使用redis操作数据比较轻量级,开发起来体验非常好。
但是问题又来了,redis升级的时候,数据需要备份,在做多环境上线的时候,基础数据还需要迁移。因此,不仅仅需要全量的备份能力,还需要增量的备份能力,做跨环境的数据迁移。
因此,最近我研究了几款号称有能力做数据备份和导入导出的redis客户端:
1. redis-cli: 官方redis命令行客户端,优点是官方软件,缺点比较明显,就是没有图形化界面,所以用户群体是熟悉redis命令的运维人员。而我对redis的命令不是很熟,就不使用命令行了,因为redis有五种数据类型,都去记它们的命令,学习成本和出错几率都摆在这里。
2. yunedit-redis: 图形化管理客户端,这个是我最终选择的方案,因为它用户体验比较好,包括redis的数据增删查改和数据备份功能,都提供了可视化界面。而且数据的导出还提供了多种方式来导出,有整库导出、整db导出、自定义导出等等,既支持全量导出也支持增量导出。全量导出适合于整库备份、自定义增量导出适合于数据迁移或上线数据初始化。
3. RDM: 全称是Redis Destop Manager:也是图形化管理客户端,但是使用后发现它的导入导出并不是redis里的数据导入和导出,而是redis的配置的导入和导出,比如redis服务的ip和端口那些,并不是我想要的。它只提供了增删查改功能。
4. redis-shake: 也是一个命令行工具,还支持api导出和导入数据。优点:可以使用命令行或api导出和导入,缺点:命令行和api的方式都需要编程接入,入门门槛比较高,而且需要自己评估自己写的程序有bug的风险。
5. redis-dump: 又是一个命令行工具,没怎么使用,用这个其实跟使用redis-cli差不多,缺点就是没有图形化界面。
最终,我推荐做redis数据备份选择yunedit-redis,因为我们的运维人员大部分都不是redis专职运维人员,对redis的命令也不是很熟悉。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。