简介

Redis 是完全开源的,遵守 BSD 协议,是一个基于C语言实现的高性能的key-value数据库。
Redis 与其他 key - value 缓存产品相比有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

基于以上特点,redis的应用场景也就不言而喻了。

应用场景

缓存

缓存是Redis最常见的应用场景,之所有这么使用,主要是因为Redis读写性能极高。Redis读的速度是110000次/s,写的速度是81000次/s,大约是mysql的正常读写速度的7倍,而且逐渐取代memcached,成为首选服务端缓存的数据库。而且,Redis内部是支持事务的,在使用时候能有效保证数据的一致性。且支持多种数据类型,应用场景会更加丰富。 作为缓存使用时,一般有两种方式保存数据:
1、读取前,先去读Redis,如果没有数据,再读取数据库,将数据拉入Redis。
2、插入数据时,同时写入Redis。

短信验证码

Redis针对数据可以设置过期时间,这个特点也是大家应用比较多的,过期的数据清理无需开发者去关注,所以开发效率会比较高,短信验证码就是其中最典型的应用了。

商品秒杀

秒杀是现在互联网系统中最常见的营销模式。秒杀其实经常会出现的问题包括:

  • 并发太高导致程序阻塞。
  • 库存无法有效控制,出现超卖的情况。

那么解决这些问题基本就两个方案:

  • 数据尽量缓存,阻断用户和数据库的直接交互。
  • 通过锁来控制避免超卖的现象。

redis就是其中的应用之一,通过redis制造分布式锁来避免超卖,利用redis的高性能读写速度来解决高并发问题。更多应用场景,这里就不一一列举了。

流行度

参考db-engines网站10月份的最新排名,redis大概在第8位左右,排名还是比较靠前的。
avatar

上面介绍了那么多,接下来才是本文的重点,对目前市面上比较流行的Redis可视化管理工具做一个详细的测评,方便开发者们选择使用。

产品介绍

RedisDesktopManager(简称RDM)

它是一个快速、简单、支持跨平台的桌面管理工具,是开源的基于 Qt 5 开发的,支持通过 SSH Tunnel 连接,由社区爱好者们共同维护。
这个工具也是目前redis开发者们用的最多的一个桌面端工具,因为它相对比较稳定,功能也还比较完备,github源码详见:https://github.com/uglide/RedisDesktopManager
但是安装比较麻烦,需要自己编译,github上提供的下载安装地址打不开。

TablePlus

TablePlus是一个现代化的本地工具,UI优雅,redis功能相对简单,正如他的取名一样,操作非常的表单化。它允许您同时管理多个数据库,如MySQL、PostgreSQL、SQLite、microsoftsqlserver等等。
关于redis部分的介绍详见:https://tableplus.com/blog/2018/06/best-redis-gui-client-tableplus.html

QuickRedis

QuickRedis 是一款永久免费的 Redis 可视化管理工具。它支持直连、哨兵、集群模式,支持亿万数量级的 key,还有令人兴奋的 UI。它是由个人开发者开发和维护的。
github地址详见:https://github.com/quick123official/quick_redis_blog

DMS

最后出场的就是我们阿里云数据库团队自己的产品DMS。数据管理DMS是基于阿里巴巴集团十余年的数据库服务平台的云版本,提供免安装、免运维、即开即用、多种数据库类型与多种环境统一的web数据库管理终端;可以为企业用户快速复制搭建与阿里集团同等安全、高效、规范的数据库DevOps研发流程解决方案。
web端地址见:https://dms.aliyun.com/
桌面端下载地址见:https://dms.aliyun.com/static/html/download.htm
移动端到手机商店下载阿里云app即可

接下来主要对这四款产品进行一个功能和交互上的对比

功能对比

RedisDeskTopManage TablePlus QuickRedis DMS
跨平台 mac、windows、Linux mac 、Linux、Windows、移动端 mac、windows、Linux web、mac、windows、移动端
SSL/TSL 支持 支持 不支持 不支持
新增、编辑、删除key 支持 支持 支持 支持
批量删除key 支持 支持 不支持 支持
批量设置TTL 支持 支持 不支持 暂不支持
搜索数据库 不支持 支持 不支持 支持
搜索key 支持 支持 支持 支持
命令行 支持 支持 支持 支持
命令行智能提示 支持提示关键字,不支持提示key 支持提示关键字,不支持提示key 不支持 都支持
数据导入导出 不支持 支持 不支持 支持
执行历史/执行日志 支持 支持 不支持 支持
value查看 支持json/binary/text等多种格式 支持json/binary/text等多种格式 不支持 暂不支持
大数据 目测只能展示20个数据库,key目测也不太多,不支持分页 免费版只能展示3个数据库,少量key,超出提示购买 库全部展示,key上线未知,但支持分页 库全部展示,key默认拉取10万条,支持分页
是否收费 免费 收费 免费 以上功能免费

功能对比差不多就是以上这些了,总体来说在功能丰富性上RedisDesktopManage和TablePlus会更胜一筹,QuickRedis相对比较弱,DMS在某些功能上也还暂时不支持。

UI对比

RedisDesktopManage和TablePlus在某些操作上比较类似,两者的布局风格也比较接近,比较符合桌面端的操作习惯;而DMS和QuickRedis在UI上也是很类似,接近web端的操作习惯,UI上也是web端的设计风格。DMS本身就是主打web端开发,所以无可厚非;而QuickRedis是基于Electron开发,所以也是比较偏web端的。

在元数据展示层面,RedisDesktopManage是以树的形式进行展示,由实例信息到数据库再到key值;TablePlus是平铺的形式,只有一层数据库结构,key值用表格的形式展示;QuickRedis展示形式是级联的形式,点选数据库以后加载出对应的key值,点选key值再加载value值;DMS数据库层面是以树的形式展示,点击数据库以后会新开独立页面展示其key值。下面分别截几张图供大家对比:
avatar

QuickRedis UI截图
avatar

DMS UI截图
avatar

UI对比基本也就到这里了,大家如果感兴趣也可以自行去下载体验哦。

总结说明

当然,社区内还有其他redis的可视化操作软件,我就不一一去举例对比了。通过以上4种GUI管理工具的对比,发现redis的操作工具确实还不够完善,没有哪一种工具是非常完美的。由于redis的操作简单,所以它不像mysql那样有比较成熟和完备的管理软件,这个也是目前redis开发者们的一大痛点。但是我们也发现,不管什么工具,背后一定要有强有力的团队去维护和持续迭代,才能使工具做得越来越好。

所以,这里我还是比较看好DMS的,第一它是免费开放给所有开发者使用,第二背后有一个阿里云的团队在持续迭代和优化,是经得住时间考验的,而且我相信未来DMS也会越做越好。

最后再放一下DMS的链接,欢迎各位开发者们去使用体验,并提出你们的宝贵意见。想直接免费体验其他数据库的功能也可以前往DMS的数据库实验室(无需录入数据库实例,开通即可体验): https://dmslab.aliyun.com/
DMS官方域名请访问:https://dms.aliyun.com

免费桌面端下载地址请访问:https://dms.aliyun.com/static/html/download.htm