SpringBoot使用Redisson 实现分布式锁

SpringBoot使用Redisson 实现分布式锁

Java 客户端,数据网格

实现了很多 Java 里支持的接口和数据结构

Redisson 是一个 java 操作 Redis 的客户端,提供了大量的分布式数据集来简化对 Redis 的操作和使用,可以让开发者像使用本地集合一样使用 Redis,完全感知不到 Redis 的存在。

2 种引入方式

  1. spring boot starter 引入(不推荐,版本迭代太快,容易冲突)https://github.com/redisson/redisson/tree/master/redisson-spring-boot-starter
  2. 直接引入:https://github.com/redisson/redisson#quick-start

直接引入

导入依赖


   org.redisson
   redisson
   3.17.6
  

配置类

package com.bo.partner.config;

import lombok.Data;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author: bo
 * @date: 2022/9/14
 * @description:
 */
@Configuration
@ConfigurationProperties(prefix = "spring.redis")
@Data
public class RedissonConfig {
    private String host;
    private String port;

    @Bean
    public RedissonClient redisClient() {
        // 1.创建配置
        Config config = new Config();
        String redisAddress = String.format("redis://%s:%s",host,port);
        config.useSingleServer().setAddress(redisAddress).setDatabase(3);
        // 2.创建实例
        RedissonClient redisson = Redisson.create(config);
        return redisson;
    }

}

@ConfigurationProperties(prefix = "spring.redis")读取了yml的配置

SpringBoot使用Redisson 实现分布式锁_第1张图片

测试一下

@SpringBootTest
public class RedissonTest {
    @Resource
    private RedissonClient redissonClient;
    @Test
    void set() {
        //list
        List list = new ArrayList<>();
        list.add("aa");
        list.get(0);
        /*list.remove(0);*/
        System.out.println("list"+list.get(0));

        RList rList = redissonClient.getList("test-list");
        rList.add("bb");
        rList.get(0);
        /*rList.remove(0);*/
        System.out.println("rlist"+rList.get(0));
    }
}
 
  

SpringBoot使用Redisson 实现分布式锁_第2张图片

为什么redisson和本地的list一模一样的,点进去看

SpringBoot使用Redisson 实现分布式锁_第3张图片

继承了List接口

你可能感兴趣的:(spring,boot,java)