千家信息网

spring boot集成redisson的方法

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本文小编为大家详细介绍"spring boot集成redisson的方法",内容详细,步骤清晰,细节处理妥当,希望这篇"spring boot集成redisson的方法"文章能帮助大家解决疑惑,下面跟
千家信息网最后更新 2026年11月04日spring boot集成redisson的方法

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

    前言

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

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

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

    集成jedis实例,xml方式

    集成前引用的jar

    redis.clientsjedis2.9.0org.apache.commonscommons-pool22.2

    spring bean配置xml

                                                                                                                                                            

    集成redisson实例,java bean的方式

    集成前引入的jar



    org.redisson
    redisson
    2.5.0

    javabean配置如下

    /** * Created by kl on 2016/10/21. */@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官方给出了诸如等标签来简化在xml中的配置,但是如果我们的程序是spring boot,一般都是使用application.properties来配置我们应用配置参数,不想提供额外的yaml,json,xml等配置文件,虽然spring boot也支持这么做。所以如何使用application.properties的方式配置redisson呢,请看下文?

    提供实例化javabean

    /** * Created by kl on 2017/09/26. * redisson 客户端配置 */@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的方法"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

    配置 单位 时间 数量 命令 实例 空闲 订阅 最小 官方 客户 客户端 方式 模式 方法 最大 文章 处理 代码 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技海报 互联网科技工作委员会 广州凡科互联网科技 互联网公司会议桌创意科技软装饰 老年人脱离互联网科技的作文 上海电发互联网科技有限公司 互联网经济与金融科技 知域互联网科技有限公司大骗子 互联网科技大奖都有哪些公司 朱啸虎曾投资哪些互联网科技企业 皮皮虾互联网科技有限公司 宇信科技在杭州互联网排第几 东营紫格互联网科技 广州燕处互联网科技有限公司 科技互联网行业投资研究 互联网领先科技活动 陕西彩京云互联网科技有限公司 上海互联网科技园景观 重庆科技产业互联网有哪些 互联网的黑科技实验室 花魁咖啡 高科技与互联网 互联网科技logo设计 互联网科技教育视频 上海宁丞科技互联网 中国科技创新与世界互联网大会 互联网公司高科技产品 保山互联网科技靠谱吗 互联网科技大佬云集 宁波允成互联网科技有限公司
    0