springboot整合redisson(一)搭建Redisson环境

springboot 专栏收录该内容
17 篇文章 1 订阅

一、创建springboot项目

1.通过idea创建springboot项目
在这里插入图片描述
2.通过web网站创建springboot项目
在这里插入图片描述
创建完之后的项目结构如下:

在这里插入图片描述

二、引入redisson依赖

由于我们是springboot整合redisson,所以我们只需引入springboot-redisson-starter就可以了,不过这里需要注意springboot与redisson的版本,因为官方推荐redisson版本与springboot版本配合使用。

将 Redisson 与 Spring Boot 库集成。取决于Spring Data Redis模块,支持 Spring Boot 1.3.x - 2.4.x

这句话是官方说的,不过现在的2.5.x也是支持的,只需要注意springboot最低版本不要低于1.3.x即可。

好了,现在我们开始引入redisson-spring-boot-starter:
maven:

     <dependency>
         <groupId>org.redisson</groupId>
         <artifactId>redisson-spring-boot-starter</artifactId>
         <version>3.15.6</version>
     </dependency>

Gradle

   compile 'org.redisson:redisson-spring-boot-starter:3.15.6'

我们再来看看redisson-spring-data与Spring Boot version的版本对应关系

redisson-spring-data module nameSpring Boot version
redisson-spring-data-161.3.x
redisson-spring-data-171.4.x
redisson-spring-data-181.5.x
redisson-spring-data-202.0.x
redisson-spring-data-212.1.x
redisson-spring-data-222.2.x
redisson-spring-data-232.3.x
redisson-spring-data-242.4.x

如何查看 我引入的redisson中 redisson-spring-data 版本呢?

找到我们引入的 redisson-spring-boot-starter,ctrl+左键进入,然后在:redisson-spring-boot-starter-3.15.6.pom 里面就能找到 redisson-spring-data。
在这里插入图片描述

三、redisson配置文件

1.yaml文件配置

我习惯使用 yml 文件,所以我将 resources 目录下的 application.properties 改成了 application.yml。

在这里插入图片描述

spring:
  application:
    name: springboot-redisson
  redis:
    redisson:
      file: classpath:redisson.yml

server:
  port: 9888

redisson.yml

singleServerConfig:
  password: 123456
  address: "redis://127.0.0.1:6379"
  database: 1
threads: 0
nettyThreads: 0
codec: !<org.redisson.codec.FstCodec> {}
transportMode: "NIO"

这是通过读文件的方式加载的,这里会存在一个问题,redisson-spring-boot-starter较高的时候如果引入的编码是:org.redisson.codec.FstCodec ,那么恭喜你,程序启动的时候将会抛出:
在这里插入图片描述
低版本则不存在这个问题,也很好解决,只需要引入对应的依赖即可

 <dependency>
            <groupId>de.ruedigermoeller</groupId>
            <artifactId>fst</artifactId>
            <version>2.57</version>
        </dependency>

然后再启动,就不会抛出异常了,这个时候你可能就会有疑问了,这样虽然方便,但是我在使用springcloud项目的时候 application.yml 的配置文件都被放到了配置中心,现在这种方式都是写死再代码中,如果redis地址发生变更,那岂不是还需要去改动代码?没错,如果按照这种方式,redis发生改变的时候确实需要改动代码,如果想实现不改动代码就能应对redis的密码或者ip变更,那么你可以尝试使用下面这种方式。

2.直接写在 application.yml 文件中

spring:
  application:
    name: springboot-redisson
  redis:
    redisson:
      config: |
        singleServerConfig:
          password: 123456
          address: "redis://127.0.0.1:6379"
          database: 1
        threads: 0
        nettyThreads: 0
        codec: !<org.redisson.codec.FstCodec> {}
        transportMode: "NIO"

server:
  port: 9888

这样就可以了。实际开发过程中还会用到许多的参数,比如:连接超时时间、最小空闲连接数等等,请参考:rediss常用参数

3.程序配置
新建配置类:RedissonConfig

package com.nlx.redisson.config;

import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.redisson.config.SingleServerConfig;
import org.redisson.config.TransportMode;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class RedissonConfig {

    @Bean
    public RedissonClient redissonClient(){
        Config config = new Config();
        config.setTransportMode(TransportMode.NIO);
        SingleServerConfig singleServerConfig = config.useSingleServer();
        //可以用"rediss://"来启用SSL连接
        singleServerConfig.setAddress("redis://127.0.0.1:6379");
        singleServerConfig.setPassword("123456");
        RedissonClient redisson = Redisson.create(config);
        return redisson;
    }
}

上面的这三种配置方式,你只需要选择其中的一种即可,按照自己的需求选择。

三、测试

package com.nlx.redisson;

import org.junit.jupiter.api.Test;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class SpringbootRedissonApplicationTests {

    @Autowired
    private RedissonClient redissonClient;

    @Test
    void contextLoads() {
        redissonClient.getBucket("hello").set("bug");
       String test = (String) redissonClient.getBucket("hello").get();
        System.out.println(test);

    }

}

在这里插入图片描述
到这里,springboot整合redisson就大功告成了,如果觉得对你帮助,还希望可以点个关注,感谢支持。
在这里插入图片描述

  • 0
    点赞
  • 1
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值