1. 命令行
不知道大家在日常操作 redis 时用什么可视化工具呢?以前总觉得没有什么太好的可视化工具,于是问了一个业内朋友。对方回:你还用可视化工具?直接命令行呀,redis 提供了这么多命令,操作起来行云流水。用可视化工具觉得很 low。命令行的鄙视用工具的,用高端工具的鄙视低端工具的,鄙视链一直存在。虽然用命令行自己也可以,但是总感觉效率上不如用工具,在视觉上不那么直观。尤其是看 json 的时候,在命令行就很不友好。
大佬朋友说:谁说命令行就不能格式化 json 了?可以利用 iredis,用|将 redis 通过 pipe 用 shell 的其他工具,比如jq/fx/rg/sort/uniq/cut/sed/awk等处理。还能自动补全,高亮显示,功能很多
好吧 ,确实牛逼。附上这个工具的官网地址,喜欢用命令行的朋友可以去试一试,绝对能让喜欢命令行的你爽的飞起来。
https://iredis.io/
但是我相信大多数开发者还是习惯用可视化工具。我自己也用过不少 redis 的可视化工具。今天就细数下市面上流行的各个可视化的工具的优劣势。帮助你找到最好的 redis 可视化工具。提升 debug 效率。如果你想直接看最终总结,可以直接拉到文章的末尾。
2. 可视化工具分类
按照 redis 可视化工具的部署来分,可以分成 3 大类
- 桌面客户端版
- web 版
- IDE 工具的 plugin
桌面版这次评测的软件如下:
- redis desktop manager
- medis
- AnotherRedisDesktopManager
- fastoredis
- redis-plus
- red
Web 版本评测的软件如下:
- redis-insight
IDE 插件版本,这里只评测 IntelliJ IDEA 的插件,eclipse 的就不作介绍了
- Iedis2
3. Redis Desktop Manager
这个工具应该是现在使用率最广的可视化工具了。存在时间很久。经过了数次迭代。跨平台支持。以前是免费的,现在为收费工具。试用可以有半个月的时间。链接为:
https://redisdesktop.com/
评测: 之前用觉得功能还行,就是界面 UI 丑了点。最近下了最新版,感觉经过了那么长时间迭代,界面看着也还凑合。该有的功能都有。界面看着比较简洁,功能很全。key 的显示可以支持按冒号分割的键名空间,除了基本的五大数据类型之外,还支持 redis 5.0 新出的 Stream 数据类型。在 value 的显示方面。支持多达 9 种的数据显示方式。
命令行模式也同以前有了很大的进步,支持了命令自动提示。
从功能看上去中规中矩,使用起来便捷。最大的缺点就是不免费。个人使用的话,大概一年要 200 多 RMB 的价格。
4.medis
现阶段我使用率最高的 redis 可视化工具。界面符合个人审美。布局简洁。跨平台支持,关键是免费。链接为:
http://getmedis.com/
评测: 颜值挺高,功能符合日常使用要求。对 key 有颜色鲜明的图标标识。在 key 的搜索上挺方便的,可以模糊搜索出匹配的 key,渐进式的 scan,无明显卡顿。在搜索的体验上还是比较出色的。缺点是不支持 key 的命名空间展示,不支持 redis 5.0 的 stream 数据类型,命令行比较单一,不支持自动匹配和提示。支持的 value 的展现方式也只有 3 种
5.AnotherRedisDesktopManager
一款比较稳定简洁的 redis UI 工具。链接为:
https://github.com/qishibo/AnotherRedisDesktopManager
评测: 很中规中矩的一款免费的 redis 可视化工具,基本的功能都有。有监控统计,支持暗黑主题,还支持集群的添加。缺点是没什么亮点,UI 很简单,不支持 stream 数据类型。命令行模式也比较单一。value 展示支持的类型也只有 3 种。
6.FastoRedis
FastoRedis 之前没听到过。然后去下了体验了下。使用这款工具首先得去官网注册账号。这款软件是收费软件,虽然跨平台,但是试用只有一天的时间。链接为:
https://fastoredis.com/
评测: 毕竟是收费软件,虽然界面一股浓浓的 windows 风格,乍看上去有点像 redis desktop manager,但是就功能而言。确实不错,支持了集群模式和哨兵模式,key 的命名空间展示,redis 5.0 的 stream 数据类型也支持。命令行模式支持自动提示补全
value 的显示支持树状,表格状等等显示方式。令我惊讶的是,值对象支持多达 17 种渲染方式
总的来说,除了界面 UI 交互略生硬,还有是一款收费软件之外,还是一款很不错的 redis 可视化工具。
7.RedisPlus
一款开源的免费桌面客户端软件链接:
https://gitee.com/MaxBill/RedisPlus
评测: 没什么亮点,也就基本功能。加分项可能也就是有一个监控。其他的都很普通 。甚至于这款软件连命令行模式都没有。用的是 javafx 开发,按道理说,应该是跨平台的软件 ,但是提供的下载地址,并没有 mac 的直接安装包。况且就算是跨平台的吧。
8.Red
这是一款在苹果 app store 下载的 redis 可视化工具,免费链接:
Mac 用户可以去 app store 里面搜
评测: 只支持 Mac 端,颜值还是不错的。功能中规中矩。基本功能都有,支持 key 命名空间的展示。
9.Redis Insight
这个软件来头挺大的,是 redis labs 出的一款监控分析级别的 redis 可视化工具。这款软件是 web 版的。那 redis labs 是啥公司,redis labs 创立于 2011 年,公司致力于为 Redis、Memcached 等流行的 NoSQL 开源数据库提供云托管服务。可以算是专门致力于 redis 云的一家专业公司。他们的提供的软件中,除了可以连接企业私有的 redis 服务,也可以连接他们的 redis 云。链接:
https://redislabs.com/redisinsight/
评测: 虽然是 web 版本,但是这个软件超越了我对 redis 可视化工具的认识,一看界面就觉得很专业,不像是个人开发出来的开源产品。我发现 key 的查询和浏览只是这里的一个功能模块而已
命令行方面:
除了有命令补全提示,右边还有相关命令的文档解释。怎么样,是不是超人性化呢?同样支持 redis 5.0 的 Stream 数据类型下面的三个功能,是需要在 server 端安装他们家的其他 redis 模块的。分别是可查询的图表,redis 的时间序列展示和全文本查询功能。
最牛的是,redisInsight 竟然还支持 rdb 的分析功能,之前分析 rdb 的存储分布,有点经验的都会用 rdb-tools 去分析。而 redisInsight 竟然把这个都集成进去了。我之前用这个分析了公司生产环境的 rdb,找出了导致数据量增长过快的原因,简直是一个神器。
这是我上次利用这个软件分析 rdb 出来的结果。很明确的找到了哪个 key 占据内存过大。在分析功能中的 Profiler 能监听一段时间内所有执行的 redis 命令 ,Slowlog 能显示出执行比较慢的 redis 命令。除此之外,这个软件还能批量操作
RedisInsight 这个可视化工具对 redis 的覆盖之全面令人咋舌。虽然他的查询 key 的功能算不上优秀,但是他的全面性和分析监控方面,确实是其他 redis 可视化工具难以企及的,况且颜值还那么高,强烈推荐。
10.Iedis2
Iedis 是一款基于 IntelliJ IDEA 的插件,在 IDEA 的 plugin 市场里就可以搜到,但是为收费插件。可试用 7 天
评测: 作为 IDEA 的插件,当然是跨平台的,风格完全遵从于 IDEA,颜值有保障。从功能上来说,Iedis 也是不含糊。基本查询功能基本上挑不出毛病。加上 IDEA 的使用习惯,让你用起来得心应手,不需要另外打开软件。在代码和插件窗口中切换也是能提高效率的
这个插件最大的特点就是能支持 lua 脚本的编写和调试,这在其他软件中是不曾看到的。以前在一个业务中大量用了 lua 进行 redis 操作,虽然尝到了 redis lua 原子性和性能上的甜头,但是在编写调试的时候,那叫一个痛苦,因为不能在 debug 所以每次都需要返回一个值来检查是哪里出了错。看到这个工具,悔恨没早点发现这个插件,付费也愿意
这个插件还能支持慢命令的查看
总的来说,Iedis 除了需要付费,其他的一切都看上去很美好。价格是。。。$139/年。还是美元,看到这个价格,是不是长叹一口气呢。
11.总结
对于前面介绍的 8 款 redis 可视化工具,希望大家在日常开发中,能挑选好的工具,以最快的效率解决最复杂的事情。