springboot整合redis cluster

本文详细介绍了Redis的安装过程,包括参考链接、复制和修改配置文件等。还说明了启动Redis服务的方式,可逐个启动或编写脚本启动。此外,提及安装gem、拷贝文件等操作,最后介绍了使用JedisCluster整合的简单例子,助你快速入门Redis。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.redis安装
参考(https://blog.youkuaiyun.com/u012198893/article/details/97114216
2.复制配置文件,修改配置文件,参考https://blog.youkuaiyun.com/weixin_45123659/article/details/104776033
在这里插入图片描述

在这里插入图片描述
3.启动redis服务
可以一个服务一个服务的启动,也可以编写脚本启动(不使用脚本,直接跳至4)
(可选)启动和关闭redis脚本(建议手打脚本,在网上复制的话,
会有格式问题:通过这个解决yum install dos2unix,dos2unix ./start-redis.sh)
在bin目录下,也就是有/redis-server 目录下,创建xxx.sh脚本,路径要写对,内容如下
chmod u+x XXX.sh 对脚本授权
./XXXX.sh 执行可执行文件
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  1. 安装gem
    没有wget命令,可以通过yum下载
wget http://rubygems.org/downloads/redis-3.3.0.gem
gem install -l redis-3.3.0.gem

在这里插入图片描述

  1. 拷贝redis-trib.rb,在redis安装包中src中有这个文件,放入bin中

  2. 最终执行,我的是腾讯云的主机,ip不要写127.0.0.1,用外网ip

redis-cli --cluster create ip:7000 ip:7001 ip:7002 ip:7003 ip:7004 ip:7005  --cluster-replicas 1

输入yes即可
加粗样式

若waiting for the cluster to join 太长时间
可能原因:
通信端口是10000+7000,当你的redis服务在7000端口,17000端口也要打开
成功就操作一波:
在这里插入图片描述

  1. 使用JedisCluster整合(最简单例子)

yml配置:

spring:
  redis:
    cluster:
      nodes: 119.29.62.229:7000,119.29.62.229:7001,119.29.62.229:7002,119.29.62.229:7003,119.29.62.229:7004,119.29.62.229:7005
    timeout: 5000

config配置

@Configuration
public class redisClusterConfig {
    @Value("${spring.redis.cluster.nodes}")
    private String redisNode;
    @Bean
    public JedisCluster getJedisCluster() {
        String[] redisnodes = redisNode.split(",");
        Set<HostAndPort> nodes = new HashSet<>();
        for(String node:redisnodes) {
            String[] arr=node.split(":");
            HostAndPort hostAndPort = new HostAndPort(arr[0], Integer.parseInt(arr[1]));
            nodes.add(hostAndPort);
        }
        JedisCluster cluster = new  JedisCluster(nodes);
        return cluster;
    }
}

controller

@RestController
@RequestMapping("api")
public class redisClusterController {
    @Autowired
    private JedisCluster jedisCluster;
    
    @GetMapping("/setClusterValue")
    public void setClusterValue(){
        jedisCluster.set("key1","value1");
    }
    @GetMapping("/getClusterValue")
    public String getClusterValue(){
       return jedisCluster.get("key1");
    }
}

启动项目,请求
在这里插入图片描述

到这就入门了,冲冲冲!
好多都是截图,大家自己动手敲起来,这种东西懒不得,动手才会有收获
中途也出了各种问题,赖着性子慢慢就能解决,没有百度google解决不了的问题(就目前的能力)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值