zoukankan      html  css  js  c++  java
  • redisson 分布式加锁

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>

    @RequestMapping("/m1")
    public int insertUserT3() {

    String lockKey="lockKey";
    boolean ok= stringRedisTemplate.opsForValue().setIfAbsent("lockKey","m1");
    try
    {
    if (!ok)
    {
    return -1;
    }
    num=num+1;
    userServiceTest02.insertUser("m1",num );
    }finally {
    stringRedisTemplate.delete(lockKey);
    }

    return 1;
    }

     

    redisson 解决方案

    Pom 的解决文件
    <dependency>
    <groupId>org.redisson</groupId>
    <artifactId>redisson</artifactId>
    <version>3.11.1</version>
    </dependency>

    @Configuration
    public class RedisConfig {

    @Bean("redission")
    public Redisson redissonClient() {
    Config config = new Config();
    // 单机模式
    config.useSingleServer()
    .setAddress("redis://127.0.0.1:6379").setDatabase(0);
    return(Redisson)Redisson.create(config);
    }
    }

    @Autowired
    Redisson redisson;
    @RequestMapping("/mm")
    public int insertUserT2() {


    String strKey="stockKey";
    RLock Redissionlock= redisson.getLock(strKey);
    try
    {
    Redissionlock.lock();
    num=num+1;
    userServiceTest02.insertUser("zhangsan",num );

    }
    finally {

    Redissionlock.unlock();
    }

    return 1;
    }

    ------------------------------------------------------------------------------------------------------------------------------------------------

    检查数据是否有重复

    DELETE FROM users;
    SELECT * FROM users WHERE age=2;

    SELECT * FROM users GROUP BY age HAVING COUNT(age)>1;

  • 相关阅读:
    (1)java设计模式之简单工厂模式
    QuartZ Cron表达式在java定时框架中的应用
    java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得
    https实现安全传输的流程
    liunx上运行mybase
    liux之sed用法
    java并发之CyclicBarrier
    java并发之Semaphore
    关于ConcurrentSkipListMap的理解
    java中Iterator和ListIterator的区别与联系
  • 原文地址:https://www.cnblogs.com/bruce1992/p/13779732.html
Copyright © 2011-2022 走看看