好用的Redis 客户端工具有几个? 这里保举两三个

打印 上一主题 下一主题

主题 829|帖子 829|积分 2487

  1. 微信公众号:数据库杂记   个人微信: iiihero
  2. 我是iihero. 也可以叫我Sean.
  3. iihero@CSDN(https://blog.csdn.net/iihero) 
  4. Sean@墨天轮 (https://www.modb.pro/u/16258)
  5. 数据库领域的资深爱好者一枚。
  6. 水木早期数据库论坛发起人 db2@smth,早期多年水木论坛数据库版版主。
  7. 国内最早一批DB2 DBA。前后对Sybase ASE及SQLAnywhere, PostgreSQL, 
  8. HANA, Oracle, DB2, SQLite均有涉猎。曾长期担任CSDN相关数据库版版主。
  9. SAP数据库技术专家与开发架构师,PostgreSQL ACE.
  10. 代表作有:<<Java2网络协议内幕>> <<Oracle Spatial及OCI高级编程>> 
  11. <<Sybase ASE 15.X全程实践>>
  12. 兴趣领域:数据库技术及云计算、GenAI
  13. 业余专长爱好:中国武术六段 陈式太极拳第13代传人(北京陈式太极拳第5代传人)
  14. 职业太极拳教练,兼任北京陈式太极拳研究会副秘书长。
  15. 如果想通过习练陈式太极拳强身健体,也可以与我联系。
复制代码
 
前言

记得前边为了使用windows上的命令行客户端去连接Cloud上边的 hyperscale Redis, 很是费了半天劲,才折腾出一个可以连接的支持TlS的版本。里边要用到msys + mingw,而且接连几个坑。详见:Redis 7.0.X 在Windows下编译支持TLS连接,遇坑埋坑
那么有没有单独的GUI式的客户端工具可以连接呢?如果有可能,将两者结合起来用,看着也是蛮不错的。
实作与分析

1、直接编译后的redis-cli命令行

这个不多说, 直接:
  1. redis-cli -c -p <port> -a <password> --tls --no-auth-warning
复制代码
此中:


  • -c Enable cluster mode (follow -ASK and -MOVED redirections).
  • -a 指定密码
  • -tls 暗示要使用SSL
  • --no-auth-warning 相干警告信息不输出
这个自行编译出来的目次内容大概如下:
  1. c:\tools\redis\bin>dir
  2. 2023-07-15  12:50 AM         2,982,622 msys-2.0.dll
  3. 2023-06-01  07:17 AM         4,523,484 msys-crypto-3.dll
  4. 2023-06-01  07:17 AM           610,496 msys-ssl-3.dll
  5. 2023-07-30  04:19 PM           997,529 redis-benchmark.exe
  6. 2023-07-30  04:19 PM         7,883,673 redis-check-aof
  7. 2023-07-30  04:19 PM         7,883,673 redis-check-rdb
  8. 2023-07-30  04:19 PM         1,155,751 redis-cli.exe
  9. 2023-07-30  04:19 PM         7,883,673 redis-sentinel
  10. 2023-07-30  04:19 PM         7,883,673 redis-server.exe
  11. 2023-07-10  07:39 PM           106,545 redis.conf
  12. 2023-07-10  07:39 PM            14,005 sentinel.conf
复制代码
实际上也就多了三人依靠于msys运行时库的文件:
msys-2.0.dll, msys-crypto-3.dll, msys-ssl-3.dll。
而redis-cli的基本用法,可以完全参考Redis官方文档。
2、RedisInsight V2客户端

整个项目的地点在:https://github.com/RedisInsight/RedisInsight/wiki/How-to-build-and-contribute
它会教我们如何build和启动运行。也可以从下边的地点直接下载:
https://redis.com/redis-enterprise/redis-insight/#insight-form
上边“吹牛”说是最好的Redis GUI工具。在使用Redis或Redis Stack进行开发时,将您的生产力提拔到一个新的水平!使用RedisInsight可视化和优化Redis数据。RedisInsight是一个强大的桌面管理器,为Redis和Redis Stack提供了一个直观高效的UI,并在一个功能齐备的桌面UI客户端中支持CLI交互。
不过呢,很遗憾,它支持不了我要的通过CF ssl连接方式去连接hyperscaler上的Redis.

image-20230806082055173
Test Connection的时间,直接给我报了个:Server closed the connection。
但是简单的Redis连接,还是可以的。相信大部分的Redis,它都能应付过去。界面还是相称漂亮的。

image-20230806082255584
连接上以后,它能把key的类型,值,期限,以及value的真实巨细都给你显示出来,一览无余。简单的管理,相信没有题目。
我在测一个值为132MB,右边显示的时间,OOM了。
然后,它有一个Bulk Action:
Delete好明白。还有一个Upload Action,就是直接传输一个Redis批处理的文件:

image-20230806083208074
感觉这个功能也还行。凑合着用。小遗憾的地方,是不是没有一个批量导出的功能?呵呵。
简单的通例的操纵功能,它还是不错的。
但是,有一个地方还是值得歌颂的,就是它的系统监控与分析功能,看看下图,直接new一个report之后的效果:

image-20230806083638477
基于此,把这个工具列到这里,结合起来用。
3、Another Redis Desktop Manager

这个是咱们国人开发的。项目地点在:https://github.com/qishibo/AnotherRedisDesktopManager
颠末几次试验,发现它居然能支持到Cloud上边的Hyperscaler Redis的连接。手动建立Tunnel之后,能连接上。
连接


image-20230806084319866
管理界面效果图


image-20230806084508681
界面确实难看,但是功能“很强大”,可以导入导出。这个对于一样平常的开发应用管理来说,非常实用。
分析功能也有:就是通过连接节点的"All Redis Info"来展示。稍薄弱了一点儿。
在实际验证的过程中,也发现一些题目,必须通过别的手段来办理。
如果值比较大,好比100多兆,几条数据就会让export不绝hang在那里,不能工作。
但总体来说,这个客户端工具,还是蛮强大的。平日里可以用它来操纵常见的内容。
4、别的

当然,因为数据整理的需要,也试过基于Ruby的redis-dump, 详见:
https://github.com/delano/redis-dump
Ruby的生态不是很好,尤其是在Windows下边的使用,同样要搞到:msys + mingw,末了编译还出了题目。这个redis-dump好像也是国人开发的。不知道现在用的人多不多,它支持的情况还是比较有限。
感觉,如果以上这些工具都达不到自己的目的的话,不如自己手写DIY一个,可以即时更改代码进行调试。
最方便可能就是使用redis-python。直接python3 + pip install redis,全部需要的依靠关系全都替你搞定。连接的代码片断也简单:
  1. #!/usr/bin/python
  2. import redis
  3. rc = redis.Redis(host='localhost', port=1167, ssl=True, ssl_cert_reqs="none", password='xxxxxxxxxxxxxxxxKuULfsbBPCo')
  4. rc.ping()
  5. # print(rc.keys);
  6. for i in range(10000):
  7.     rc.set('{0:d}'.format(i),  'value_{0:d}'.format(i))
  8.     print('Value {0:d} done'.format(i))
  9. print('finished redis operation');
复制代码
这片代码,就是往Redis里头,快速添加10000个key的小片断代码。连接信息也很直接:
  1. ssl=True, ssl_cert_reqs="none", password='xxxxxxxxxxxxxxxxKuULfsbBPCo'
  2. 指定用SSL,并且不需要证书,但是要提供密码。
复制代码
在前边的GUI工具以及redis-dump管理导入导出数据不能工作时,不防自己DIY一把,还可以趁机优化一下代码,提高下性能。
总结

Redis作为一款良好的开源K/V数据库,挑选合适的GUI客户端工具还是蛮重要的。通常情况下redis-cli能满足绝大多数需求,但是在Cloud情况下, --rdb之类的备份功能用不了。你不得不告急于一些工具,有时间,也不得不自己DIY一下。自己动手,丰衣足食。
Cloud厂商有的确实是为了将用户引导向自己的根本设施,变了各种方法来诱导:


  • 备份,让你直接备份至S3存储,都在它的控制之下。你把S3的数据再download下来,也需要自己进行转换。
  • 导入,也是用它的格式。你自己没办法自由自主的控制。
GUI工具:还是保举上边的两款:RedisInsight V2以及AnotherRedisDesktopManager
命令行工具:有下载的就下载安装,不能的,就自己编译一个。别的,Redis-python是一个不错的客户端库。基本上你想干的都醒目。Redis在NodeJs和Go、Rust上边的接口库也不错。目前就是Redis-java的比较乱,要支持各种Redis的形式,需要进行不同水平的适配。
(Redis cluster, SSL support, Sentinel等等)。
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

石小疯

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表