springboot集成redisson的几种方式

目录

前言

一、redisson简介?

二、集成方式

2.1自定义配置+手动注入

2.2使用Yaml方式批量读取配置

2.3使用spring boot自动配置类

   三、工具类

总结


前言

本文主要描述springboot继承redisson的几种方式以及redisson分布式锁的使用;


一、redisson简介?

Redisson是架设在Redis基础上的一个Java驻内存数据网格(In-Memory Data Grid)。
Redisson在基于NIO的Netty框架上,充分的利用了Redis键值数据库提供的一系列优势,在Java实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。

最熟为人知的是它的分布式锁机制,它有比redis本身更多更强劲的功能

分布式锁原理 : 发送一段lua脚本(保证原子性)用以加锁,其本质是抢占key,谁先生成key谁就有锁
以后再补一篇原理

二、集成方式

redisson 集成springBoot并不是特别友好,因为它没有像redis这样写自动配置类,故不能仅写配置就能用

引入pom坐标:


        
            org.redisson
            redisson
            3.13.6
        

2.1自定义配置+手动注入

要点:

1.自己写配置属性

2.自己写@Bean注入redisson

配置类

import com.xkj.ecommerce.utils.RedissonLockUtil;
import lombok.Data;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.redisson.config.SentinelServersConfig;
import org.redisson.config.SingleServerConfig;
import org.springframework.boot.autoconfigure.AutoConfigureOrder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Arrays;

/**
 * @createDate 2021/1/18
 */
@Configuration
@ConfigurationProperties(prefix = "redisson")
@Data
@AutoConfigureOrder
public class RedissonConfig {

    private int timeout = 3000;

    private String address;

    private String password;

    private int database = 0;

   

你可能感兴趣的:(redis,redis,数据库,缓存)