Redis
翁正存
做一名合格的工程师
展开
-
Redis分布式锁
Redis分布式锁适用于多实例的微服务架构,比如同一个服务部署到4不同IP地址的台机器上,为了防止同一个请求多次处理,需要使用分布式锁,同一时刻只处理一个请求。Redis分布式锁一般是封装set方法。/** * 默认redis锁存活时间,10秒 */private static final int DEFAULT_LOCK_EXPIRE_TIME = 10;/** * 获取锁,...原创 2018-12-03 13:29:32 · 138 阅读 · 0 评论 -
Redis幂等处理
可以利用redis的setnx函数对请求入参的某个唯一的字段(如orderId)做幂等拦截,防止重复处理请求。//幂等校验if(!jedisTemplate.setnx(RedisConstants.RED_PACKET_RECV + getRedPacketDto.getOrderId() + getRedPacketDto.getRedPacketId(), "0.00")){ ...原创 2018-12-03 13:45:23 · 1807 阅读 · 0 评论 -
使用incr控制库存的问题
需求:限制奖品每日发放次数,并且可以修改这个次数。单纯使用incr或decr都不能解决可以修改次数的问题,例如,使用incr,初始次数1,调用2次后,redis的值为2,这时修改限制次数为2,再次调用,则incr后的值为3,而按需求来说,这次调用应该是成功的,所以,怎么办呢?你可以将这个过程想象成往试管里滴水,当试管满了后,新滴进来的水自然会流掉,永远保持满的状态,对应incr,当超过限制的值...原创 2019-09-19 19:37:34 · 386 阅读 · 0 评论