redis锁

value值为随意的字符串,如  "1"

public boolean lock(  String userId, String value, int timeOut ) {
   return this.strSetIfAbsent( "lock:".concat( userId ), value, Duration.ofSeconds( timeOut ) );
}

 

public void unLock( String userId ) {
   this.unlink( "lock:".concat( userId ) );
}

 

/**
 * 只在键 key 不存在的情况下,将键 key 的值设置为 value 。<br/> 若键 key 已经存在, 则不做任何动作。<br/>添加过期时间
 *
 * @param timeout 过期时间
 */
public Boolean strSetIfAbsent( String key, String value, Duration timeout ) {
   return stringRedisTemplate.opsForValue().setIfAbsent( key, value, timeout );
}

 

 

/**
 * 删除一个或多个key-value,但是,相比DEL会产生阻塞,该命令会在另一个线程中回收内存,因此它是非阻塞的。
 */
public Boolean unlink( String keys ) {
   return stringRedisTemplate.unlink( keys );
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值