几款连接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)

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vuex的使用之mapGetters[通俗易懂]

    vuex的使用之mapGetters[通俗易懂]vue项目中,经常会使用到vuex,vuex是vue的一个状态管理。本文简单总结一下:vuex中mapGetters的使用。如果一个变量或对象需要在多个页面和组件中使用,那么,可以使用mapGetters。一.vuex中声明变量个方法1.在state中声明:state:{freeShipping:cookie.get(‘freeShipping’),}2.在mutations中书写方法:mutations:{updatefreeShipping(state,fre

    2022年5月20日
    114
  • linux查看当前目录下的全路径

    使用pwd命令可查看当前目录下的全路径。当然,也可以使用manpwd查看帮助。

    2022年4月13日
    239
  • c语言入门教程–-15字符串的输入与输出

    c语言入门教程–-15字符串的输入与输出

    2021年3月12日
    208
  • google search_google.com

    google search_google.comgson中字符串转换为json数据:StringtestString=”‘bgColorPc ‘:’red'”;JsonObjectjsondetail=newJsonParser().parse(testString).getAsJsonObject();StringbgColorPc=jsondetail.get(“bgColorPc”).getAsStrin

    2022年8月23日
    3
  • StretchDIBits 函数

    StretchDIBits 函数不知道各位有咩有被这个函数搞得很蛋疼,反正我是了,网上的文章很多其实都是到处copy,看了很多然并卵。这个函数的功能和参数就不多说了,蛋疼主要是它画的图片是倒着的,主要问题是怎么把他搞回来。网上的文章说了当目标宽度和源宽度的符号不一样他会做关于x轴的镜像,高度的符号不一样会做Y轴的镜像。好的我的开始函数是这样的StretchDIBits(bufferHDC,0,0,m_nVideoW

    2022年6月16日
    25
  • pytest的assert_assert中文

    pytest的assert_assert中文前言断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢?简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed

    2022年7月31日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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