• 加redis锁


    package com.tj.qc.service.config.impl;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Component;
    
    /**
     * 锁
     *
     * @author zyl
     * @date 2021/11/24
     */
    @Component
    public class RedisLock {
    //    @Autowired
    //    private RedisTemplate<String, String> redisTemplate;
        @Autowired private com.tj.common.redis.simple.RedisSimpleClient redisClient;
    
        public void lock(String key, Runnable runnable){
            try{
                if(lock(key)) {
                    runnable.run();
                }
            }finally {
                unlock(key);
            }
        }
    
        private boolean lock(String key){
            if(!redisClient.exists("RLock:"+key)) {
                redisClient.setStr("RLock:"+key, "1");
                return true;
            }
            return false;
        }
    
        private void unlock(String key){
            redisClient.del("RLock:"+key);
        }
    }

    调用

    @Autowired
        private RedisLock redisLock;
        /**
         * 创建时间格式排查
         * */
        @RequestMapping(value = "/test", method = RequestMethod.GET)
        @ResponseBody
        public String checkCreateTime(){
            redisLock.lock("lockWW", ()-> {
                System.err.println();
            });
            return nn;
        }
  • 相关阅读:
    论文尾注后无法插入分节符
    实现java对象排序的三种方式
    java数组的定义方式
    Canvas
    正则xss
    mongoDB学习记录
    查找,学习,记录
    地址
    node实战学习纪录
    nodejs学习记录
  • 原文地址:https://www.cnblogs.com/xiaoliu66007/p/15748062.html
Copyright © 2020-2023  润新知