广告
返回顶部
首页 > 资讯 > 精选 >spring boot集成redisson的方法
  • 899
分享到

spring boot集成redisson的方法

2023-06-29 09:06:27 899人浏览 八月长安
摘要

本文小编为大家详细介绍“spring boot集成redisson的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“spring boot集成Redisson的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入

本文小编为大家详细介绍“spring boot集成redisson的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“spring boot集成Redisson的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

    前言

    本文假使你了解Spring Boot并实践过,非spring boot用户可跳过也可借此研究一下。

    redisson是redis的java客户端程序,国内外很多公司都有在用,如下,

    spring boot集成redisson的方法

    和spring的集成中官方给出的实例也是比较多,比较方便。

    集成jedis实例,xml方式

    集成前引用的jar

    <!--kl add redis client--><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency><!-- https://mvnrepository.com/artifact/commons-pool/commons-pool --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId><version>2.2</version></dependency>

     spring bean配置xml

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="Http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">    <!-- POOL配置 -->    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">        <property name="maxTotal" value="300"/>        <property name="maxIdle" value="10"/>        <property name="maxWaitMillis" value="1000"/>        <property name="testOnBorrow" value="true"/>    </bean>    <!-- jedis shard信息配置 -->    <bean id="jedisshardInfo" class="redis.clients.jedis.JedisShardInfo">        <constructor-arg index="0" value="${redis.host}"/>        <constructor-arg index="1" value="${redis.port}" type="int"/>    </bean>    <!-- jedis shard pool配置 -->    <bean id="shardedJedisPool" class="redis.clients.jedis.ShardedJedisPool">        <constructor-arg index="0" ref="jedisPoolConfig"/>        <constructor-arg index="1">            <list>                <ref bean="jedisShardInfo"/>            </list>        </constructor-arg>    </bean>    <bean id="shardedJedis" factory-bean="shardedJedisPool" factory-method="getResource" /></beans>

    集成redisson实例,java bean的方式

    集成前引入的jar

    <!--kl add redis client-->
    <dependency>
    <groupId>org.redisson</groupId>
    <artifactId>redisson</artifactId>
    <version>2.5.0</version>
    </dependency>

    javabean配置如下

    @Configuration@ComponentScanpublic class RedsissonConfig {    @Bean(destroyMethod="shutdown")    RedissonClient redisson(@Value("classpath:/conf/redisson.yaml") Resource configFile) throws IOException {        Config config = Config.fromYAML(configFile.getInputStream());        return Redisson.create(config);    }}

    spring集成redis客户端jedis以及redisson,可以提供yaml,JSON配置文件来实例化redissonClient,也可以使用spring的xml来配置,redisson官方给出了诸如<redisson:client>等标签来简化在xml中的配置,但是如果我们的程序是spring boot,一般都是使用application.properties来配置我们应用配置参数,不想提供额外的yaml,json,xml等配置文件,虽然spring boot也支持这么做。所以如何使用application.properties的方式配置redisson呢,请看下文?

    提供实例化javabean

    @ConfigurationProperties(prefix = "spring.redisson")@Configurationpublic class RedissonConfig{    private String address;    private int connectionMinimumIdleSize = 10;    private int idleConnectionTimeout=10000;    private int pingTimeout=1000;    private int connectTimeout=10000;    private int timeout=3000;    private int retryAttempts=3;    private int retryInterval=1500;    private int reconnectionTimeout=3000;    private int failedAttempts=3;    private String passWord = null;    private int subscriptionsPerConnection=5;    private String clientName=null;    private int subscriptionConnectionMinimumIdleSize = 1;    private int subscriptionConnectionPoolSize = 50;    private int connectionPoolSize = 64;    private int database = 0;    private boolean dnsMonitoring = false;    private int dnsMonitoringInterval = 5000;    private int thread; //当前处理核数量 * 2    private String codec="org.redisson.codec.JsonJacksonCodec";    @Bean(destroyMethod = "shutdown")    RedissonClient redisson() throws Exception {        Config config = new Config();        config.useSingleServer().setAddress(address)                .setConnectionMinimumIdleSize(connectionMinimumIdleSize)                .setConnectionPoolSize(connectionPoolSize)                .setDatabase(database)                .setDnsMonitoring(dnsMonitoring)                .setDnsMonitoringInterval(dnsMonitoringInterval)                .setSubscriptionConnectionMinimumIdleSize(subscriptionConnectionMinimumIdleSize)                .setSubscriptionConnectionPoolSize(subscriptionConnectionPoolSize)                .setSubscriptionsPerConnection(subscriptionsPerConnection)                .setClientName(clientName)                .setFailedAttempts(failedAttempts)                .setRetryAttempts(retryAttempts)                .setRetryInterval(retryInterval)                .setReconnectionTimeout(reconnectionTimeout)                .setTimeout(timeout)                .setConnectTimeout(connectTimeout)                .setIdleConnectionTimeout(idleConnectionTimeout)                .setPingTimeout(pingTimeout)                .setPassword(password);        Codec codec=(Codec)ClassUtils.forName(getCodec(),ClassUtils.getDefaultClassLoader()).newInstance();        config.setCodec(codec);        config.setThreads(thread);        config.setEventLoopGroup(new NIOEventLoopGroup());        config.setUselinuxNativeEpoll(false);        return Redisson.create(config);    }

    注意:以上代码不是完整的,省略了get set代码

    application.properties添加如下配置

    #redis链接地址spring.redisson.address=192.168.1.204:6379#当前处理核数量 * 2spring.redisson.thread=4#指定编解码spring.redisson.codec=org.redisson.codec.JsonJacksonCodec;#最小空闲连接数,默认值:10,最小保持连接数(长连接)spring.redisson.connectionMinimumIdleSize=12#连接空闲超时,单位:毫秒 默认10000;当前连接池里的连接数量超过了最小空闲连接数,#而连接空闲时间超过了该数值,这些连接将会自动被关闭,并从连接池里去掉spring.redisson.idleConnectionTimeout=10000#ping节点超时,单位:毫秒,默认1000spring.redisson.pingTimeout=1000#连接等待超时,单位:毫秒,默认10000spring.redisson.connectTimeout=10000#命令等待超时,单位:毫秒,默认3000;等待节点回复命令的时间。该时间从命令发送成功时开始计时spring.redisson.timeout=3000#命令失败重试次数,默认值:3spring.redisson.retryAttempts=2#命令重试发送时间间隔,单位:毫秒,默认值:1500spring.redisson.retryInterval=1500#重新连接时间间隔,单位:毫秒,默认值:3000;连接断开时,等待与其重新建立连接的时间间隔spring.redisson.reconnectionTimeout=3000#执行失败最大次数, 默认值:3;失败后直到 reconnectionTimeout超时以后再次尝试。spring.redisson.failedAttempts=2#身份验证密码#spring.redisson.password=#单个连接最大订阅数量,默认值:5spring.redisson.subscriptionsPerConnection=5#客户端名称#spring.redisson.clientName=#发布和订阅连接的最小空闲连接数,默认值:1;Redisson内部经常通过发布和订阅来实现许多功能。#长期保持一定数量的发布订阅连接是必须的spring.redisson.subscriptionConnectionMinimumIdleSize=1#发布和订阅连接池大小,默认值:50spring.redisson.subscriptionConnectionPoolSize=50#连接池最大容量。默认值:64;连接池的连接数量自动弹性伸缩spring.redisson.connectionPoolSize=64#数据库编号,默认值:0spring.redisson.database=0#是否启用DNS监测,默认值:falsespring.redisson.dnsMonitoring=false#DNS监测时间间隔,单位:毫秒,默认值:5000spring.redisson.dnsMonitoringInterval=5000

    java bean中已经给所有需要配置的值写上了官方默认的初始值,如果你不考虑更改默认值,实际上你只需要在你的application.properties添加如下配置就好

    #redis链接地址spring.redisson.address=192.168.1.204:6379

    注意:这里配置连接的模式是单机模式,如果你想通过这种配置方式配置集群模式和哨兵模式,请参考官方wiki,修改下java bean就好

    读到这里,这篇“spring boot集成redisson的方法”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

    --结束END--

    本文标题: spring boot集成redisson的方法

    本文链接: https://www.lsjlt.com/news/324060.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • spring boot集成redisson的方法
      本文小编为大家详细介绍“spring boot集成redisson的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“spring boot集成redisson的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入...
      99+
      2023-06-29
    • spring boot如何集成redisson
      这篇文章主要介绍了spring boot如何集成redisson的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇spring boot如何集成redisson文章都会有所收获,下面我们一起来看...
      99+
      2023-07-04
    • spring boot集成redisson的最佳实践示例
      目录前言集成jedis实例,xml方式集成前引用的jar spring bean配置xml集成redisson实例,java bean的方式集成前引入的jarjavabea...
      99+
      2022-11-13
    • spring boot集成测试的方法
      这篇文章主要介绍“spring boot集成测试的方法”,在日常操作中,相信很多人在spring boot集成测试的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”spri...
      99+
      2022-10-19
    • Spring Boot 集成PageHelper的使用方法
      目录前言:一、基本集成引入jar包Yml配置文件中添加相关配置封装相关分页方法示例代码前段传入参数执行结果二、分页中的排序字段如何防止SQL注入问题三、复杂的SQL分页语句四、分页失...
      99+
      2022-11-13
    • Spring Boot 集成 Kafkad的实现方法
      本篇内容介绍了“Spring Boot 集成 Kafkad的实现方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Spring Boot 作...
      99+
      2023-06-14
    • Spring Boot 集成Redisson实现分布式锁详细案例
      目录前言分布式锁实现引入jar包Redisson的配置application.yml中引入redisson.yml配置redisson.yml配置封装Redisson工具类模拟秒杀扣...
      99+
      2022-11-13
      Spring Boot 集成Redisson Spring Boot 分布式锁
    • spring boot集成sitemesh
      Sitemesh简介Sitemesh是由一个基于Web页面布局、装饰及与现存Web应用整合的框架,是一个装饰器。它能帮助我们在由大量页面工程的项目中创建一致的页面布局和外观,如一致的导航条、一致的banner、一致的版权等。SiteMesh...
      99+
      2017-06-25
      java教程 spring boot
    • 解决spring集成redisson踩过的坑
      目录spring集成redisson踩过的坑第一坑就是版本兼容问题第二个坑是设置密码问题spring整合redisson配置配置方式单节点配置standalone哨兵配置sentin...
      99+
      2022-11-12
    • 【Spring Boot丨(11 )】json的集成
      集成JSON 概述JacksonGsonJSON-B 主页传送门:📀 传送 概述 Spring boot 提供了三种json库的集成: GsonJacksonJSON-B 上述三种库提供了将Jav...
      99+
      2023-08-19
      spring boot json java 后端
    • Spring Boot集成springfox-swagger2构建restful API的方法教程
      前言之前跟大家分享了Spring MVC集成springfox-swagger2构建restful API,简单写了如何在springmvc中集成swagger2。这边记录下在springboot中如何集成swagger2。其实使用基本相同...
      99+
      2023-05-31
      springboot springfox-swagger2 restful
    • 开发脚手架集成Spring Boot Actuator监控的方法
      今天小编给大家分享一下开发脚手架集成Spring Boot Actuator监控的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获...
      99+
      2023-06-30
    • 使用 Spring Boot 集成 Nacos
      使用 Spring Boot 集成 Nacos 在本篇博客中,我们将介绍如何使用 Spring Boot 框架来集成 Nacos,实现服务的注册与发现。Nacos 是一个开源的动态服务发现、配置和服务...
      99+
      2023-09-21
      spring boot java spring cloud
    • Spring boot 集成 MQTT详情
      目录一、简介二、主要特性三、集成步骤1.引入相关jar包2.核心配置类3.网关配置4.编写测试类5.yml配置信息一、简介 MQTT(Message Queuing Telemetr...
      99+
      2022-11-13
    • Spring boot怎么集成MQTT
      这篇“Spring boot怎么集成MQTT”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring ...
      99+
      2023-06-30
    • 详解spring boot集成RabbitMQ
      RabbitMQ作为AMQP的代表性产品,在项目中大量使用。结合现在主流的spring boot,极大简化了开发过程中所涉及到的消息通信问题。首先正确的安装RabbitMQ及运行正常。RabbitMQ需啊erlang环境,所以首先安装对应版...
      99+
      2023-05-31
      spring boot bit
    • Spring Boot 项目集成Redis的方式详解
      集成方式 使用Jedis Jedis是Redis官方推荐的面向Java的操作Redis的客户端,是对服务端直连后进行操作。如果直接使用Jedis进行连接,多线程环境下是非线程安全的...
      99+
      2022-11-12
    • Spring Boot集成redis,key自定义生成方式
      一)自定义redis key生成策略 @Configuration:表示当前类属于一个配置类,类似于一个spring.cfg.xml。 @EnableCaching:表示支持启用缓存...
      99+
      2022-11-12
    • 详解Spring Boot集成MyBatis(注解方式)
      MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。spring Boot是能支持快速创建Spring应用的Java框架。本文通过一个例子来学习Spring B...
      99+
      2023-05-31
      spring boot mybatis
    • 新鲜速递:Spring Boot 3 项目快速集成 Spring Security 6的方法
      准备 Spring Boot 3正式版本已发版了半个月,Spring Security6也一并更新,但是网络上的相关中文文档较少,盲目进行集成容易出错,所以本文讲如何快速集成。这里不再赘述Spring Boot3和Spring Securi...
      99+
      2023-08-25
      spring spring boot java
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作