关于 充值 余额增加 和 送礼物余额扣减的代码疑问

来源:11-19 本章回顾

慕少4057723

2024-02-10

对于 incr 和 decr 缓存的操作,这里使用redis 缓存余额感觉挺有风险的,比如 redisTemplate.hasKey的时候返回true,但是执行完hasKey之后,正好此时cacheKey临界点上缓存超时,那么
redisTemplate.opsForValue().increment 还是不准确的

@Override
public void incr(long userId, int num) {
String cacheKey = cacheKeyBuilder.buildUserBalance(userId);
if (redisTemplate.hasKey(cacheKey)) {
redisTemplate.opsForValue().increment(cacheKey, num);
redisTemplate.expire(cacheKey, 5, TimeUnit.MINUTES);
}
。。。。。。。
}

写回答

1回答

Danny_Idea

2024-02-11

这里就需要开发自己进行取舍了,性能,一致性,可用性。

0
0

SpringCloudAlibaba高并发仿斗鱼直播平台实战

SpringCloudAlibaba高并发仿斗鱼直播平台实战

429 学习 · 348 问题

查看课程