首页   注册   登录
 eefnrowe 最近的时间轴更新

eefnrowe

V2EX 第 343964 号会员,加入于 2018-08-24 09:26:22 +08:00
eefnrowe 最近回复了
77 天前
回复了 eefnrowe 创建的主题 Java 关于使用 redisson 分布式锁出现的问题
@ysweics 这样红包领取就没有排队机制啦.. 粒度到了用户级别..
77 天前
回复了 eefnrowe 创建的主题 Java 关于使用 redisson 分布式锁出现的问题
@snappyone 已经试过啦, 等待 3/5 , 10 超时都试过~ 我有点怀疑是其他环节的问题了..
77 天前
回复了 eefnrowe 创建的主题 Java 关于使用 redisson 分布式锁出现的问题
@snappyone 一样有类似问题
77 天前
回复了 eefnrowe 创建的主题 Java 关于使用 redisson 分布式锁出现的问题
@snappyone

//红包锁 redis_lock:redpacket:${redPacketId}
String lockName = RedisKeys.buildDistributedLockKey("redpacket", redPacketId);
RLock rLock = redissonClient.getLock(lockName);
try {
boolean b = rLock.tryLock(3, 10, TimeUnit.SECONDS);
if(b){
return doUnpack(redPacketId);
}
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
rLock.unlock();
}
77 天前
回复了 eefnrowe 创建的主题 Java 关于使用 redisson 分布式锁出现的问题
@snappyone tryLock 的 waitTime 跟 leaseTime 设值有什么讲究吗
77 天前
回复了 eefnrowe 创建的主题 Java 关于使用 redisson 分布式锁出现的问题
@snappyone 当然是放在 doUnpack 方法里靠前的

String userIdsKey = RedisKeys.buildRedPacketUserIdsKey(redPacketId);
if(redisTemplate.hasKey(userIdsKey)){
Boolean member = redisTemplate.opsForSet().isMember(userIdsKey, userId);
if(member){
throw new CommonException(ResponseCode.ERROR, "不可重复领取此红包");
}
redisTemplate.opsForSet().add(userIdsKey, userId);
}else{
redisTemplate.opsForSet().add(userIdsKey, userId);
redisTemplate.expire(userIdsKey, 1, TimeUnit.HOURS);
}
东西不错, 支持下
79 天前
回复了 wweir 创建的主题 macOS homebrew 的阿里云源有毒
我还以为被投毒了呢..
一直用 mybatis-plus 类似的增强型框架, 不要浪费时间写无意义的代码
以我的经验都是枚举转换, 至于给出的结果是 code 还是中文, 可以根据接口分, 比如 1 接口 VO 是返回 code, 2 接口 VO 是返回中文
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   908 人在线   最高记录 5043   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 11ms · UTC 20:16 · PVG 04:16 · LAX 13:16 · JFK 16:16
♥ Do have faith in what you're doing.