SpringBoot整合Redisson,赶紧整起来!

SpringBoot整合Redisson


提示:以下是本篇文章正文内容

一、Redisson 是什么?

Redisson是一个基于Java的开源的、高级的Redis客户端,它实现了Redis的分布式和响应式特性,Redisson能够让Java开发者更方便地与Redis进行交互。

简单来说Redisson就是一个Redis的客户端,比RedisTemplate更高级,更简单。

二、使用场景

  • 分布式锁(最常用)Redisson实现分布式锁是非常简单的
java 复制代码
@Resource
private RedissonClient redissonClient;

RLock rLock = redissonClient.getLock(lockName);
try {
    boolean isLocked = rLock.tryLock(expireTime, TimeUnit.MILLISECONDS);
    if (isLocked) {
        // TODO
    }
  } catch (Exception e) {
    rLock.unlock();
  }
  • 基于redis实现队列

三、使用步骤

1.引入相关依赖

xml 复制代码
<dependencies>
    <!-- redisson -->
        <dependency>
            <groupId>org.redisson</groupId>
            <artifactId>redisson</artifactId>
            <version>3.20.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
</dependencies>

2.application.yml配置

配置如下:

yaml 复制代码
spring:
    redis:
        database: 1
        host: xxx
        port: xxx
        password: xxx   # 密码(默认为空)
        timeout: 6000ms  # 连接超时时长(毫秒)
        jedis:
            pool:
                max-active: 1000  # 连接池最大连接数(使用负值表示没有限制)
                max-wait: -1ms      # 连接池最大阻塞等待时间(使用负值表示没有限制)
                max-idle: 10      # 连接池中的最大空闲连接
                min-idle: 5       # 连接池中的最小空闲连接

3.创建RedissonConfig

编写类 RedissonConfig.java

java 复制代码
package com.uhu.redis;

import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.client.codec.StringCodec;
import org.redisson.config.Config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class RedissonConfig {

    @Value("${spring.redis.database}")
    private int database;

    @Value("${spring.redis.host}")
    private String host;

    @Value("${spring.redis.port}")
    private String port;

    @Value("${spring.redis.password}")
    private String password;

    @Bean(value = "redissonClient", destroyMethod = "shutdown")
    public RedissonClient redissonClient() throws Exception {

        Config config = new Config();
        config.useSingleServer().setAddress(String.format("redis://%s:%s", this.host, this.port));
        if (!this.password.isEmpty()) {
            config.useSingleServer().setPassword(this.password);
        }
        config.useSingleServer().setDatabase(this.database);

        StringCodec codec = new StringCodec();
        config.setCodec(codec);
        return Redisson.create(config);
    }

}

4.开始使用

java 复制代码
@Resource
private RedissonClient redissonClient;

总结

通过以上几个简单的步骤,我们就可以完成Redisson整合,希望对你有用

相关推荐
少废话h23 分钟前
Redis主从与集群搭建全指南
大数据·linux·redis·mysql
Neoest28 分钟前
【EasyExcel 填坑日记】“Syntax error on token )“: 一次编译错误在逃 Runtime 的灵异事件
java·eclipse·编辑器
自在极意功。29 分钟前
Web开发中的分层解耦
java·microsoft·web开发·解耦
是一个Bug31 分钟前
ConcurrentHashMap的安全机制详解
java·jvm·安全
断剑zou天涯35 分钟前
【算法笔记】bfprt算法
java·笔记·算法
番石榴AI37 分钟前
java版的ocr推荐引擎——JiaJiaOCR 2.0重磅升级!纯Java CPU推理,新增手写OCR与表格识别
java·python·ocr
jiayong231 小时前
Redis面试深度解析
数据库·redis·面试
码事漫谈1 小时前
VSCode CMake Tools 功能解析、流程与最佳实践介绍
后端
鸽鸽程序猿1 小时前
【项目】【抽奖系统】抽奖
java·spring
火云牌神1 小时前
本地大模型编程实战(38)实现一个通用的大模型客户端
人工智能·后端