package com.greattao.egtcp.purchase.common;
import com.cy.framework.service.impl.DataException;
import lombok.extern.slf4j.Slf4j;
import redis.clients.jedis.Jedis;
import javax.annotation.Resource;
import java.util.Collections;
@Slf4j
@Component
public class RedisTool {
private static final String LOCK_SUCCESS = "OK";
private static final String SET_IF_NOT_EXIST = "NX";
//EX是秒,PX是毫秒
private static final String SET_WITH_EXPIRE_TIME = "PX";
private static final Long RELEASE_SUCCESS = 1L;
@Resource
private Jedis jedis;
/**
* 尝试获取分布式锁
* @param lockKey 锁
* @param requestId 请求标识
* @param expireTime 超期时间
* @param acquireTimeout 请求锁的超时时间 单位/毫秒
* @return 是否获取成功
*/
public boolean tryGetDistributedLock(String lockKey, String requestId, int expireTime,long acquireTimeout) {
long end = System.currentTimeMillis(
redis实现分布式锁
最新推荐文章于 2022-08-27 14:46:03 发布
本文介绍了如何利用Redis来实现分布式锁的功能,通过初始化Jedis Bean进行相关操作,为分布式环境中的资源访问提供锁机制。
摘要由CSDN通过智能技术生成