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整合,希望对你有用

相关推荐
数据狐(Datafox)12 分钟前
1688商品列表API接口解析(附 JSON 样例)
java·开发语言·数据库·爬虫·json
xcl092516 分钟前
健身场馆无人自动化系统:从架构设计到落地实践
java·spring boot
EatFan25 分钟前
一个二维码背后的系统设计:批次生成、绑定、扫码与数据统计怎么做?
java·后端·微信小程序·二维码·qrcode
白远山25 分钟前
自助健身小程序源码:架构拆解、核心链路与本地部署实战
java·架构·uni-app·需求分析
石小石Orz30 分钟前
民间AI排行榜单新鲜出炉,Fable 5.1仅排第三
前端·后端·ai编程
FYKJ_201038 分钟前
【毕设分享】基于Web的校园兼职信息发布与申请系统07059
前端·vue.js·spring boot·mysql·typescript·spark·课程设计
小灰灰搞电子43 分钟前
Rust Once 、OnceLock、LazyLock 一次性初始化详解
开发语言·后端·rust
Lyyaoo.1 小时前
【动态规划】【待更新】
java·数据结构·算法
我不会起名字3221 小时前
一天一道算法题(35):电话号码的字母组合
java·数据结构·后端·python·leetcode·go·回溯
雪芽蓝域zzs1 小时前
第 1 节:使用 IDEA 创建 SpringBoot4 Maven 项目
spring boot