springboot整合redisson实现分布式锁及布隆过滤器

下载安装redisson

整合

maven添加依赖

使用的版本是3.13,因为springboot使用的是2.1.3版本,因此按照官方上的提示,移除redisson-spring-data-22

		
            org.springframework.boot
            spring-boot-starter-data-redis
        
        
            org.redisson
            redisson-spring-boot-starter
            
                
                    org.redisson
                    redisson-spring-data-22
                
            
            3.13.1
        
        
            org.redisson
            redisson-spring-data-21
            3.13.1
        

项目配置

spring:
  redis:
    redisson: 
      config: classpath:SentinelConfig-local.yml

SentinelConfig-local.yml文件在项目的resource目录下,具体参数查看redisson依赖包下面的config/SentinelServersConfig.java

#本地开发使用
sentinelServersConfig:
  #baseConfig
  idleConnectionTimeout: 10000
  connectTimeout: 10000
  timeout: 3000
  retryAttempts: 3
  retryInterval: 1500
  password: 123456
  clientName: null
  loadBalancer: ! {}
  #BaseMasterSlaveServersConfig
  slaveConnectionMinimumIdleSize: 24
  slaveConnectionPoolSize: 64
  failedSlaveReconnectionInterval: 3000
  failedSlaveCheckInterval: 180000
  masterConnectionMinimumIdleSize: 24
  masterConnectionPoolSize: 64
  subscriptionConnectionMinimumIdleSize: 1
  subscriptionConnectionPoolSize: 50
  dnsMonitoringInterval: 5000
  #SentinelServersConfig
  database: 8
  sentinelAddresses:
    - "redis://192.168.1.213:26379"
    - "redis://192.168.1.214:26380"
    - "redis://192.168.1.214:26381"
  masterName: "mymaster"
  scanInterval: 1000
threads: 0
# Netty线程池数量,默认值: 当前处理核数量 * 2
nettyThreads: 0
# 编码
codec: ! {}
# 传输模式
transportMode : "NIO"

添加工具类

添加DistributeLocker接口,以及它的实现类RedissonDistributeLocker

public interface DistributeLocker {
    /**
     * 加锁
     *
     * @param lockKey key
     */
    void lock(String lockKey);

    /**
     * 释放锁
     *
     * @param lockKey key
     */
    void unlock(String lockKey);

    /**
     * 加锁锁,设置有效期
     *
     * @param lockKey key
     * @param timeout 有效时间,默认时间单位在实现类传入
     */
    void lock(String lockKey, int timeout);

    /**
     * 加锁,设置有效期并指定时间单位
     *
     * @param lockKey key
     * @param timeout 有效时间
     * @param unit    时间单位
     */
    void lock(String lockKey, int timeout, Time

你可能感兴趣的:(工作记录,redis,过滤器,spring)