zoukankan      html  css  js  c++  java
  • redis 锁

    public class RedisLockUtil {

    private static ICache client = (ICache) SpringContextHolder.getApplicationContext().getBean("mcproxy");
    private static final Logger logger = LoggerFactory.getLogger(RedisLockUtil.class);
    public static final String DEFAULT_VALUE="1";
    public static final int DEFAULT_EXPIRE_LOCK_TIME=60;

    public static final String TASK_KEY="QMS_TASK_KEY_";
    public static final String TASK_AUDIT_APPROVE_KEY="TASK_AUDIT_APPROVE_KEY_";

    public static boolean getLock(String key) {
    return getLock(key,DEFAULT_VALUE , DEFAULT_EXPIRE_LOCK_TIME);
    }

    public static boolean getLock(String key,String value,int expireTime) {
    boolean lock = false;
    if(client != null){
    try {
    String result = client.getSet(key, value , expireTime);
    if(result == null) {
    lock = true;
    }
    } catch (Exception e) {
    logger.error("get task lock from redis error:", e);
    }
    }
    return lock;
    }



    public static boolean unLock(String key) {
    if(client != null){
    try {
    client.remove(key);
    return true;
    } catch (Exception e) {
    logger.error("unlock from redis error:", e);
    }
    }
    return false;
    }

    private RedisLockUtil() {
    throw new IllegalAccessError("Utility class");
    }

    }

  • 相关阅读:
    FarPoint FpSpread控件的使用收藏
    在Oracle中使用Guid
    oracle 语句的妙用例子
    让服务器iis支持.apk文件下载的设置方法
    oracle 自动生存清库脚本
    winform 消息通讯组件实习
    在css中使用边框做三角形
    JavaScript闭包和ajax
    JavaScript面向对象
    正则表达式
  • 原文地址:https://www.cnblogs.com/newworldnewstart/p/10696926.html
Copyright © 2011-2022 走看看