当前位置:   article > 正文

好用的Redis 客户端工具有几个? 这里推荐两三个_redis客户端工具

redis客户端工具
  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命令行

这个不多说, 直接:

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等等)。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/454253
推荐阅读
相关标签
  

闽ICP备14008679号