码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Redisson集成SpringBoot


    前言: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。

    下面开始

    一、添加依赖

    1. <dependency>
    2. <groupId>org.redissongroupId>
    3. <artifactId>redisson-spring-boot-starterartifactId>
    4. <version>3.30.0version>
    5. 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的配置,这种方式比较简单。

    1. spring:
    2. application:
    3. name: demo # 应用名称
    4. #### Redisson配置,兼容spring-boot-starter-data-redis的配置
    5. redis:
    6. jedis:
    7. # 连接池配置,如果不配置就会使用默认值
    8. pool:
    9. #最大连接数
    10. max-active: 50
    11. #最大阻塞等待时间(负数表示没限制)
    12. max-wait: 20000
    13. #最大空闲连接
    14. max-idle: 10
    15. #最小空闲连接
    16. min-idle: 1
    17. database: 0
    18. host: 127.0.0.1
    19. port: 6379
    20. ssl: false
    21. #连接超时时间(毫秒)
    22. timeout: 3000
    23. ########### 集群模式
    24. # cluster:
    25. # nodes: 127.0.0.1:6379,127.0.0.2:6379,127.0.0.3:6379
    26. ########### 哨兵模式
    27. # sentinel:
    28. # master: mymaster # Sentinel中配置的主节点名称
    29. # nodes: 127.0.0.1:6379,127.0.0.2:6379,127.0.0.3:6379

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

    三、代码示例

    1. @Autowired
    2. RedissonClient redissonClient;
    3. public void testLock() {
    4. //获取锁对象
    5. RLock lock = redissonClient.getLock("zhh-lock");
    6. //设置锁过期时间,防止死锁的产生
    7. boolean lockFlag = false;
    8. try {
    9. lockFlag = lock.tryLock(10, 10, TimeUnit.SECONDS);
    10. System.out.println("加锁状态:" + lockFlag);
    11. // 测试一下,添加一个键值对
    12. RBucket bucket = redissonClient.getBucket("key1");
    13. bucket.set("value1");
    14. System.out.println(bucket.get());
    15. // 删除键值对
    16. bucket.delete();
    17. } catch (InterruptedException e) {
    18. System.out.println("加锁出现异常");
    19. e.printStackTrace();
    20. } finally {
    21. if (lockFlag) {
    22. lock.unlock();
    23. System.out.println("释放锁成功");
    24. }
    25. }
    26. }

  • 相关阅读:
    [附源码]JAVA毕业设计-高中辅助教学系统-(系统+LW)
    2.15-CSS基础--vertical-align垂直对齐、光标类型、边框圆角
    热水即开即有,沐浴更舒畅,云米AI零冷水燃气热水器Super上手
    Ai-WB2模组与手机建立 SPP 连接,以及在 UART-Bluetooth LE 透传模式下传输数据
    pycharm:无法加载文件activate.ps1,因为在此系统上禁止运行脚本
    电子元器件选型与实战应用—04 LDO选型、特性及应用
    .NET周报【11月第3期 2022-11-22】
    PDE优化|逆问题中偏微分方程约束优化的惩罚方法(Matlab代码实现)
    【生产力++】脚本自动化提取待复习内容 极大提高复习效率(下)
    String的compareTo()方法使用场景介绍及全量ASCII 码表(完整版)
  • 原文地址:https://blog.csdn.net/Muscleheng/article/details/139248641
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号