redis的Sentinel和Cluster的引入方式和常见切换报错

  • Post author:
  • Post category:其他


提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档




前言

今天工作遇到这么个需求,需要对redis进行压力测试,之前的redis是Sentinel的,现在db组要求换成Cluster,今天小小的记录一下。



提示:以下是本篇文章正文内容,下面案例可供参考



一、两种脚本写法



1.Cluster

在这里插入图片描述



2.Sentinel

在这里插入图片描述



报错



报错一:ERR unknown command

CLUSTER

, with args beginning with:

SLOTS

,

注意点是Cluster和Sentinel的ip地址会不同,改方式时地址ip不要照搬,记得问清楚,不然会发生下图所示报错:

在这里插入图片描述

解决方案:换成正确ip



报错二:Cannot cast object ‘redis.clients.jedis.JedisCluster@5cc126dc’ with class ‘redis.clients.jedis.JedisCluster’ to class ‘redis.clients.jedis.Jedis’

在这里插入图片描述

解决方案:

Sentinel引入的是: public static Jedis jedis

Cluster引入的是:public static JedisCluster jedis;

切换集群方式时,引入的类记得切换



总结

这边文章将redis的Sentinel和Cluster的引入方式进行了介绍,对比,但是仅仅是把两者的不同展示了一下,巨人的肩膀如下


Redis之——Jedis、jedisCluster的使用



cluster java调用redis



版权声明:本文为wanglinrui原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。