首页 > 数据库 >好用的Redis 客户端工具有几个? 这里推荐两三个

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

时间:2024-03-19 11:59:58浏览次数:28  
标签:07 Redis redis 连接 2023 msys 好用 客户端

微信公众号:数据库杂记   个人微信: iiihero
我是iihero. 也可以叫我Sean.
iihero@CSDN(https://blog.csdn.net/iihero) 
Sean@墨天轮 (https://www.modb.pro/u/16258)
数据库领域的资深爱好者一枚。
水木早期数据库论坛发起人 db2@smth,早期多年水木论坛数据库版版主。
国内最早一批DB2 DBA。前后对Sybase ASE及SQLAnywhere, PostgreSQL, 
HANA, Oracle, DB2, SQLite均有涉猎。曾长期担任CSDN相关数据库版版主。
SAP数据库技术专家与开发架构师,PostgreSQL ACE.
代表作有:<<Java2网络协议内幕>> <<Oracle Spatial及OCI高级编程>> 
<<Sybase ASE 15.X全程实践>>
兴趣领域:数据库技术及云计算、GenAI

业余专长爱好:中国武术六段 陈式太极拳第13代传人(北京陈式太极拳第5代传人)
职业太极拳教练,兼任北京陈式太极拳研究会副秘书长。
如果想通过习练陈式太极拳强身健体,也可以与我联系。

 

前言

记得前边为了使用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 相关警告信息不输出

这个自行编译出来的目录内容大概如下:

c:\tools\redis\bin>dir
2023-07-15  12:50 AM         2,982,622 msys-2.0.dll
2023-06-01  07:17 AM         4,523,484 msys-crypto-3.dll
2023-06-01  07:17 AM           610,496 msys-ssl-3.dll
2023-07-30  04:19 PM           997,529 redis-benchmark.exe
2023-07-30  04:19 PM         7,883,673 redis-check-aof
2023-07-30  04:19 PM         7,883,673 redis-check-rdb
2023-07-30  04:19 PM         1,155,751 redis-cli.exe
2023-07-30  04:19 PM         7,883,673 redis-sentinel
2023-07-30  04:19 PM         7,883,673 redis-server.exe
2023-07-10  07:39 PM           106,545 redis.conf
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,所有需要的依赖关系全都替你搞定。连接的代码片段也简单:

#!/usr/bin/python
import redis

rc = redis.Redis(host='localhost', port=1167, ssl=True, ssl_cert_reqs="none", password='xxxxxxxxxxxxxxxxKuULfsbBPCo')
rc.ping()

# print(rc.keys);

for i in range(10000):
    rc.set('{0:d}'.format(i),  'value_{0:d}'.format(i))
    print('Value {0:d} done'.format(i))
print('finished redis operation');

这片代码,就是往Redis里头,快速添加10000个key的小片段代码。连接信息也很直接:

ssl=True, ssl_cert_reqs="none", password='xxxxxxxxxxxxxxxxKuULfsbBPCo'
指定用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等等)。

 

标签:07,Redis,redis,连接,2023,msys,好用,客户端
From: https://blog.csdn.net/iihero/article/details/136828005

相关文章

  • # Docker安装使用Redis
    拉取最新版本redisdockerpullredis:7.2.4查看镜像dockerimages新建本地挂载配置文件夹(位置随意)1、创建文件夹(位置随意):data、confredis默认配置只能够本地连接、不能进行远程访问需要手动挂载redis配置文件mkdir-p/docker-root/redis_6379/datamkdir-p/d......
  • Redis第三弹,定时删除1.优先级队列(堆)2.基于时间轮实现的定时器​编辑Type指令(返回key对
    目录定时删除1.优先级队列(堆)2.基于时间轮实现的定时器​编辑Type指令(返回key对应的数据类型)redis的数据类型hsetkeyfieldvalue(这里是使用hash作为数据结构)小结定时删除redis并未实现定时器的方式,实现定时器的方式,实现过期key删除,若多个key过期,也可通过一个......
  • Redis
    一、Redis命令1.Redis数据结构Redis是一个key-value的数据库,key一般是String类型,value的类型多种多样:2.Redis通用命令通用命令是部分数据类型的,都可以使用的指令,常见的有:KEYS:查看符合模板的所有key,不建议在生产环境中使用DEL:删除一个指定的keyEXISTS:判断key是否存在......
  • springboot集成redis
    1.导入spring-boot-starter-data-redis起步依赖2.在配置文件中,配置redis连接信息3.调用API(StringRedisTemplate)完成字符串的存取操作```//把token存储在redis中ValueOperations<String,String>operations=stringRedisTemplate.opsForValue();operations.set(token......
  • 解决安装Redis之后设置密码,报(error) ERR Client sent AUTH, but no password is set
    在安装完成Redis后,需要登录auth账户,验证是否安装成功。在redis目录下redis.conf文件找到requirepass,追加一行,输入requirepass123456,即为登录密码,重启redis服务再登录即可。但是并没有成功,后来发现是需要在命令行再次设置密码才行解决步骤如下:1、启动redis服务2、cmd命令行切......
  • Springboot+Redis:实现缓存 减少对数据库的压力
    ......
  • Mysql,MongoDB,Redis的横纵向对比
    一,什么是MysqlMysql是一款安全,可以跨平台,高效率的数据库系统,运行速度高,安全性能高,支持面向对象,安全性高,并且成本比较低,支持各种开发语言,数据库的存储容量大,有许多的内置函数。二,什么是MongoDBMongoDB是基于分布式文件存储的数据库,是一个介于关系型数据库和非关系型数据库之......
  • opc客户端
    支持opc,da,ua通信(匿名登陆及用户登陆)支持批量节点数据监听,当数据有变化时更新支持单个节点读取和写入KeepServer做为modbusserverkeepserver通信配置https://blog.csdn.net/xiaochenXIHUA/article/details/117070003 ......
  • 解决问题:java、mysql、docker、linux、redis、solr适合初级或者刚入门的大学生
    java、mysql、redis、linux、docker中的问题Java问题解决,idea问题解决调试,服务器问题解决,项目部署,项目调试linux服务器上的安装以及运行环境的部署docker的部署可做技术栈:java开发:javaweb,jsp,servlet,javase,spring,springboot,ssm服务器:linux问题docker问题,To......
  • 鸿鹄电子招投标系统源码实现与立项流程:基于Spring Boot、Mybatis、Redis和Layui的企业
    随着企业的快速发展,招采管理逐渐成为企业运营中的重要环节。为了满足公司对内部招采管理提升的要求,建立一个公平、公开、公正的采购环境至关重要。在这个背景下,我们开发了一款电子招标采购软件,以最大限度地控制采购成本,提高招投标工作的公开性和透明性,并确保符合国家电子招投标......