Redisson集成SpringBoot

news2024/9/19 9:48:43

前言:Redisson集成SpringBoot主要有两种方式,一个是使用redisson-spring-boot-starter依赖(优先推荐),毕竟springboot主打的就是约定大于配置,这个依赖就是为springboot准备的。

再一种方式就是引入redisson原始依赖,自己写配置类注入到spring容器中,这种太麻烦没必要。

这里主要记录一下第一种方式,先看官网介绍redisson/redisson-spring-boot-starter at master · redisson/redisson · GitHub

首先关于版本对应关系的问题,目前发现sprinBoot2.3.x版本使用redisson-spring-boot-starter 3.30.0版本是没问题的。
官方说了:redisson-spring-boot-starter与Spring Boot的版本兼容是通过redisson-spring-boot-starter中引入的redisson-spring-data模块来做的,如果需要,降级redisson-spring-data模块以支持以前的Spring Boot版本。

 也就是说,如果发现不兼容问题,可以通过降低redisson-spring-data依赖的版本来解决。

具体做法就是:引入依赖后,排出高版本的redisson-spring-data,再引入低版本的即可。

下图可以看到,redisson-spring-boot-starter的pom文件中引入了redisson-spring-data-x。

下面开始

一、添加依赖

        <!-- redisson 依赖 -->
        <dependency>
            <groupId>org.redisson</groupId>
            <artifactId>redisson-spring-boot-starter</artifactId>
            <version>3.30.0</version>
        </dependency>

二、配置文件添加配置

配置文件主要有两种方式:

第一种是直接使用spring-boot-starter-data-redis的配置,redisson完全兼容spring-boot-starter-data-redis的配置,打开redisson-spring-boot-starter 的pom文件可以看到,他也是引入了spring-boot-starter-data-redis的依赖。

第二可以使用redisson自己的配置方式。

官网两种配置方式都有示例。

这里就直接使用spring-boot-starter-data-redis的配置,这种方式比较简单。

spring:
  application:
    name: demo # 应用名称

  #### Redisson配置,兼容spring-boot-starter-data-redis的配置
  redis:
    jedis:
      # 连接池配置,如果不配置就会使用默认值
      pool:
        #最大连接数
        max-active: 50
        #最大阻塞等待时间(负数表示没限制)
        max-wait: 20000
        #最大空闲连接
        max-idle: 10
        #最小空闲连接
        min-idle: 1
    database: 0
    host: 127.0.0.1
    port: 6379
    ssl: false
    #连接超时时间(毫秒)
    timeout: 3000
########### 集群模式
#    cluster:
#      nodes: 127.0.0.1:6379,127.0.0.2:6379,127.0.0.3:6379
########### 哨兵模式
#    sentinel:
#      master: mymaster # Sentinel中配置的主节点名称
#      nodes: 127.0.0.1:6379,127.0.0.2:6379,127.0.0.3:6379

如果要使用redisson自己的配置方式,参考官网即可,官网两种就有示例。

三、代码示例

    @Autowired
    RedissonClient redissonClient; 

    public void testLock() {
        //获取锁对象
        RLock lock = redissonClient.getLock("zhh-lock");
        //设置锁过期时间,防止死锁的产生
        boolean lockFlag = false;
        try {
            lockFlag = lock.tryLock(10, 10, TimeUnit.SECONDS);
            System.out.println("加锁状态:" + lockFlag);

            // 测试一下,添加一个键值对
            RBucket<String> bucket = redissonClient.getBucket("key1");
            bucket.set("value1");
            System.out.println(bucket.get());
            // 删除键值对
            bucket.delete();
        } catch (InterruptedException e) {
            System.out.println("加锁出现异常");
            e.printStackTrace();
        } finally {
            if (lockFlag) {
                lock.unlock();
                System.out.println("释放锁成功");
            }
        }
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1703442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android:将时间戳转换为本地时间格式

一、效果图 图1&#xff0c;中国的时间格式 图2&#xff0c;美国的时间格式 二、StringUtil.kt代码 import java.text.DateFormat import java.text.SimpleDateFormat import java.util.* object StringUtil {fun formatTimestamp(currentTime: Long): String {var sdf Si…

C语言文件编程

C语言文件编程 第一部分 基本概念 1、Linux文件类型 1.-普通文件&#xff1a;存在于外部存储器中&#xff0c;用于存储普通数据。 1.txt 1.c 1.mp3 1.mp4 2.d目录文件&#xff1a;用于存放目录项&#xff0c;是文件系统管理的重要文件类型。 文件夹 3.p管道文件&#x…

景源畅信:新手做抖音运营难不难?

在这个信息爆炸的时代&#xff0c;社交媒体平台如抖音已经成为了人们日常生活中不可或缺的一部分。随着抖音的兴起&#xff0c;越来越多的人开始尝试进入这个领域&#xff0c;希望通过抖音运营实现自己的价值。然而&#xff0c;对于新手来说&#xff0c;抖音运营是否真的容易呢…

苹果手机突然白屏无反应怎么办?白屏修复办法分享!

苹果手机突然白屏无反应怎么办&#xff1f;下面小编就来给大家分享苹果手机突然白屏的原因和修复办法。 一般造成苹果手机出现白屏的原因如下&#xff1a; 系统问题&#xff1a;iOS系统的故障是导致苹果设备白屏无反应最常见的原因之一。例如&#xff0c;系统更新失败、应用冲…

《异常检测——从经典算法到深度学习》28 UNRAVEL ANOMALIES:基于周期与趋势分解的时间序列异常检测端到端方法

《异常检测——从经典算法到深度学习》 0 概论1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法3 基于One-Class SVM的异常检测算法4 基于高斯概率密度异常检测算法5 Opprentice——异常检测经典算法最终篇6 基于重构概率的 VAE 异常检测7 基于条件VAE异常检测8 Donut: …

[自动驾驶技术]-6 Tesla自动驾驶方案之硬件(AI Day 2021)

1 硬件集成 特斯拉自动驾驶数据标注过程中&#xff0c;跨250万个clips超过100亿的标注数据&#xff0c;无论是自动标注还是模型训练都要求具备强大的计算能力的硬件。下图是特斯拉FSD计算平台硬件电路图。 1&#xff09;神经网络编译器 特斯拉AI编译器主要针对PyTorch框架&am…

网络上受认可的赚钱软件有哪些?这些兼职副业中总有一个适合你

在这个互联网迅速发展的时代&#xff0c;网络赚钱已经成为一种普遍的趋势。然而&#xff0c;你是否仍旧在依靠运气去碰寻赚钱的机会&#xff1f;是否还在为无法找到一个可靠的兼职平台而感到烦恼&#xff1f; 别担心&#xff0c;今天我将为你揭示那些真正可靠的在线赚钱平台&a…

算法简单笔记2

5月26号&#xff0c;之前学了两天算法烦了&#xff0c;去学了几天鸿蒙&#xff0c;今天又回来看一下算法&#xff0c;距离6月1日国赛还有6天&#xff0c;哈哈真是等死咯...... 一、蓝桥杯第13届国赛第1题填空题&#xff1a;重合次数 &#xff08;半难不难&#xff0c;写编程难…

强化学习_06_pytorch-PPO2实践(Humanoid-v4)

一、PPO优化 PPO的简介和实践可以看笔者之前的文章 强化学习_06_pytorch-PPO实践(Pendulum-v1) 针对之前的PPO做了主要以下优化&#xff1a; -笔者-PPO笔者-PPO2refdata collectone episodeseveral episode(one batch)activationReLUTanhadv-compute-compute adv as one seri…

【Redis】持久化操作详解

Redis 持久化操作详解 Redis 实现持久化的时候&#xff0c;具体是按照什么样的策略来实现的呢&#xff1f; Redis支持两种方式的持久化&#xff0c;一种是RDB方式、另一种是AOF&#xff08;append-only-file&#xff09;方式&#xff0c;两种持久化方式可以单独使用其中一种&…

编程-辅助工具-Git下载

文章目录 1、前言2、Git官网地址3、迅雷下载 1、前言 采用Git能下载github上的代码&#xff0c;其下载是采用官网下载的&#xff0c;但是下载速度比较慢&#xff0c;网上也推荐了镜像的方式&#xff0c;但是有些链接失效了&#xff0c;突然有一天想起用迅雷是不是合适&#xf…

DDR基本原理

1. 简介 DDR SDRAM&#xff08;Double Data Rate Synchronous Dynamic Random Access Memory&#xff0c;双数据率同步动态随机存储器&#xff09;通常被我们称为DDR&#xff0c;其中的“同步”是指内存工作需要同步时钟&#xff0c;内部命令的发送与数据传输都以它为基准。DDR…

postman教程-4-发送post请求

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节我们学习了postman发送get请求的方法&#xff0c;本小节我们讲解一下postman发送post请求的方法。 POST请求通常用于向服务器提交数据以创建新资源或执行某些操作。与GET请求不同&#xff0c;POST请求可…

华为机考入门python3--(31)牛客31-单词倒排

分类&#xff1a;字符串、正则 知识点&#xff1a; 正则提取所有符合的字符串 words re.findall(r[a-zA-Z], sentence) 列表倒序 words[::-1] 题目来自【牛客】 import re # 导入正则表达式模块def reverse_words(sentence):# 使用正则表达式将句子拆分成单词# 如可以将…

【Docker学习】详细讲解docker ps

docker ps是我们操作容器次数最多的命令之一&#xff0c;但我们往往使用docker ps或是docker ps -a&#xff0c;对于该命令的其它选项&#xff0c;我们关注比较少。那么这一讲&#xff0c;我给大家详细讲讲该命令的全部方法。 命令&#xff1a; docker container ls 描述&am…

python数据分析——apply 1

参考资料&#xff1a;活用pandas库 apply是指把函数同时作用于DataFrame的每一行或每一列。类似于编写一些跨每行或每列的for循环&#xff0c;并同时调用apply函数。 1、函数 函数是对python代码进行分组和复用的一种方法。如果某段代码会被多次使用&#xff0c;并且使用时是需…

Flink 数据源

原理 在 Flink 中&#xff0c;数据源&#xff08;Source&#xff09;是其中一个核心组件&#xff0c;负责从各种来源读取数据供 Flink 程序处理。 Flink 的数据源类型丰富&#xff0c;涵盖了从简单测试到生产环境使用的各种场景。Kafka、Socket、文件和集合是 Flink 中最常见…

[转载]同一台电脑同时使用GitHub和GitLab

原文地址&#xff1a;https://developer.aliyun.com/article/893801 简介&#xff1a; 工作中我们有时可能会在同一台电脑上使用多个git账号&#xff0c;例如&#xff1a;公司的gitLab账号&#xff0c;个人的gitHub账号。怎样才能在使用gitlab与github时&#xff0c;切换成对应…

利用边缘计算网关的工业设备数据采集方案探讨-天拓四方

随着工业4.0时代的到来&#xff0c;工业设备数据采集成为了实现智能制造、提升生产效率的关键环节。传统的数据采集方案往往依赖于中心化的数据处理方式&#xff0c;但这种方式在面对海量数据、实时性要求高的工业场景时&#xff0c;往往显得力不从心。因此&#xff0c;利用边缘…

访问构造方法(反射)

文章目录 前言一、反射是什么&#xff1f;二、访问构造方法 1.Constructor对象的获取方法2.Constructor方法的使用总结 前言 Java的反射机制可以实现访问、检测和修改Java对象本身信息的功能&#xff0c;在java.lang.reflect包下提供此功能。可以使程序员更加深入地控制程序的运…