几款连接redis的客户端(GUI客户端),下面记录了我使用的几款

几款连接redis的客户端(GUI客户端),下面记录了我使用的几款几款连接redis的客户端(GUI客户端),下面记录了我使用的几款一、Redis客户端1、命令行工具命令行(建议使用,简单)比如windows的cmd和Linux、Mac的Terminal,虽然最简单好用。必须保证有redis-cli命令(windows是redis-cli.exe),比如通过安装redis就会有这个命令。2、桌面客户端RediNav(windows桌面客户端,MacOS客户端,根本不能用)评价:垃圾,完全不能用,无论win还是mac平台!我写在

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

几款连接redis的客户端(GUI客户端),下面记录了我使用的几款

一、Redis 客户端

1、命令行工具

  • 命令行 (建议使用,简单)

    比如windows的cmd和Linux、Mac的Terminal,虽然最简单好用。

    必须保证有 redis-cli 命令(windows 是 redis-cli.exe),比如通过安装 redis 就会有这个命令。

2、桌面客户端

  • RediNav (windows桌面客户端,MacOS客户端,根本不能用)
    评价:垃圾,完全不能用,无论win还是mac平台!我写在这里就是要把你钉在耻辱柱上,免得下次又掉进你的坑里。

    不能用具体表现在,无法新建连接,在填写endpoint的过程中,弹出框太大完全看不到填写完毕后的确认按钮,缩小弹出框的时候弹出框会突然消失掉,然后程序像死了一样,只能用任务管理器关闭。(我试的是1.0.28版)

  • 新版 RDM (Redis Desktop Manager,我试的是 2021.7.363 版)

    评价:新版很垃圾(如果你可以登录,不算垃圾)。收费。并且新版会强迫需要注册并登陆后才能用,人家Postman也没强迫。最主要是公司电脑屏蔽了没法登陆。

    支持打开Console输入redis命令(当然了,旧版也支持)

    在这里插入图片描述

  • 旧版 RDM (Redis Desktop Manager,我试的是 v.0.8.8.384 版) (凑合使用)

    旧版凑合用吧。貌似是免费的。也支持打开Console输命令的

  • Navicat

    暂时未有,期待Navicat也出一个能连Redis的,成为一个万能的GUI数据库连接工具


除此外还有一大堆工具,这里就简单提一下,详细可以参考:https://zhuanlan.zhihu.com/p/210483494

  • medis:免费,美观。缺点是不支持key的命名空间展示(只有Mac平台,目前已经是medis2了)
  • AnotherRedisDesktopManager:基本的功能都有。有监控统计,支持暗黑主题,还支持集群的添加
  • fastoredis:使用这款工具首先得去官网注册账号。这款软件是收费软件,支持了集群模式和哨兵模式,key的命名空间展示
  • redis-plus:开源的免费,这款软件连命令行模式都没有。
  • red:这是一款在苹果app store下载的redis可视化工具,免费。只支持Mac端,颜值还是不错的。功能中规中矩。基本功能都有,支持key命名空间的展示。(只有Mac平台)

3、在线版

  • Redis Insight

    这款软件是web版的,但是非常专业。支持命令行。支持rdb分析功能,可以分析哪个key占内存大。

3、IDEA 插件

  • Iedis2

    收费插件,没啥看头,IDEA 的插件激活成功教程费工夫。不用去考虑了。

二、大坑

如下代码的RedisTemplate都没有特别配置序列化器,在执行后,使用命令行连上redis,执行keys my_key*,发现只有第二个key存在,第一个消失了,但是代码执行后是能够取到值的。这是为什么?

在这里插入图片描述

是因为命令行的工具有bug吗?不是的。使用 keys *my_key*,就可以显示两个key都存在。

在这里插入图片描述

可以看到第二key前面有一些奇怪的字符,这是是因为代码中第一个 redisTemplate 的序列化器,无论是key还是value都是使用jdk的序列化器(JdkSerializationRedisSerializer),所以导致了key前面有些奇怪的字符,所以用 keys *my_key* 这种两边都模糊的就能匹配出来。
但是第二个不是也是redisTemplate 吗?为什么key 前面没有奇怪的符号,因为Spring 在遇到 <String, String> 泛型的时候注入的不是 RedisTemplate 类,而是 StringRedisTemplate 类,而后者的所有序列化器都是 String的序列化器(StringRedisSerializer),所以就很正常了。

最佳实践

建议设置一下 key 和 hash key 的序列化器为String序列化器,这样可读性才强,debug的时候才好发现,另外不需要重复 new StringRedisSerializer(),共用即可,线程安全

@Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { 
   
        RedisTemplate template = new RedisTemplate();
        template.setConnectionFactory(redisConnectionFactory);
         //建议设置一下 key 和 hash key 的序列化器为String序列化器,这样可读性才强,debug的时候才好发现,另外不需要重复 new StringRedisSerializer(),共用即可,线程安全
        RedisSerializer<String> stringRedisSerializer = new StringRedisSerializer();
        template.setKeySerializer(stringRedisSerializer);
        template.setHashKeySerializer(stringRedisSerializer);
        template.afterPropertiesSet();
        return template;
    }

三、资料参考

太厉害了!目前 Redis 可视化工具最全的横向评测 – 知乎 (zhihu.com)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191923.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • android开发揭秘!全靠这份Android知识点PDF大全,附答案[通俗易懂]

    android开发揭秘!全靠这份Android知识点PDF大全,附答案[通俗易懂]Glide缓存简介Glide的缓存设计可以说是非常先进的,考虑的场景也很周全。在缓存这一功能上,Glide又将它分成了两个模块,一个是内存缓存,一个是硬盘缓存。这两个缓存模块的作用各不相同,内存缓存的主要作用是防止应用重复将图片数据读取到内存当中,而硬盘缓存的主要作用是防止应用重复从网络或其他地方重复下载和读取数据。内存缓存和硬盘缓存的相互结合才构成了Glide极佳的图片缓存效果,那么接下来我们就分别来分析一下这两种缓存的使用方法以及它们的实现原理。我认识很多优秀的Android工程师,他们丝毫

  • ES6 判断对象是否为空「建议收藏」

    ES6 判断对象是否为空「建议收藏」判断对象是否为空最简单的方式就是用ES6的letobj={}if(Object.keys(obj).length==0){ console.log(“对象是空的”)}else{//Object.keys(obj).length可获取对象的长度console.log(“obj的长度:”+Object.keys(obj).length)}…

  • 如何进行大数据处理?大数据处理的方法步骤[通俗易懂]

    如何进行大数据处理?大数据处理的方法步骤[通俗易懂]1.大数据处理之一:采集大数据的采集是指利用多个数据库来接收发自客户端(Web、App或者传感器形式等)的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。比如,电商会使用传统的关系型数据库MySQL和Oracle等来存储每一笔事务数据,除此之外,Redis和MongoDB这样的NoSQL数据库也常用于数据的采集。在大数据的采集过程中,其主要特点和挑战是并发数高,因为同时有…

  • SQL学习(一):months_between日期函数

    SQL学习(一):months_between日期函数日期函数months_between的用法:MONTHS_BETWEEN(date1,date2)用于计算date1和date2之间有几个月。如果date1在日历中比date2晚,那么MONTHS_BETWEEN()就返回一个正数。如果date1在日历中比date2早,那么MONTHS_BETWEEN()就返回一个负数。如果date1和date2日期一样,那么MONTHS_BETWEEN()就返回一个0。案例SQL>selectmonths_between(to_date(

  • linux fsync实例,Python os.fsync()方法「建议收藏」

    linux fsync实例,Python os.fsync()方法「建议收藏」Python的os.fsync()方法返回强制将文件描述符fd写入磁盘。如果使用Python文件对象f,首先要执行f.flush(),然后执行os.fsync(f.fileno()),以确保与f关联的所有内部缓冲区都被写入磁盘。语法以下是fsync()方法的语法-os.fsync(fd)参数fd−这是缓冲区同步的文件描述符(必需的)。返回值此方法没有返回值。示例以下示例显示了fsync()…

  • matlab plot函数详解取值范围_matlab为什么plot不出来图

    matlab plot函数详解取值范围_matlab为什么plot不出来图 在matlab中,plot函数用来绘制二维图像。1.plot默认格式 plot(x,y)这种格式中,若x,y是向量,则它们必须具有相同的长度。函数将以x为横轴,绘制y。                  若x,y都是矩阵,则它们必须具有相同的尺寸,plot函数将针对x的各列绘制y的每列。更确切的说,将x和y的对应的各列取出来,绘制曲线。比如x和y分别为n*n…

    2022年10月16日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号