首页 > 代码库 > Redis适用于高并发的递增、递减功能
Redis适用于高并发的递增、递减功能
递增指令:incr(默认从0开始)
递减指令:decr(默认从0开始,递减会出现负数,这点跟memcache不一样,mc到0)
如下:
附上shardedJedisPool和JedisCluster的两种实现方式:
shardedJedisPool:
@Override public Long decr(String key) { ShardedJedis jedis = null; Long result = 0l; try { jedis = shardedJedisPool.getResource(); result = jedis.decr(key); } catch (Exception e) { log.error("redis decr error and key = " + key, e); } return result; } @Override public Long incr(String key) { ShardedJedis jedis = null; Long result = 0l; try { jedis = shardedJedisPool.getResource(); result = jedis.incr(key); } catch (Exception e) { log.error("redis incr error and key = " + key, e); } return result; }
JedisCluster:
@Override public Long decr(String key) { Long result = 0l; try { result = jedisCluster.decr(key); } catch (Exception e) { log.error("jedisCluster decr error and key = " + key, e); } return result; } @Override public Long incr(String key) { Long result = 0l; try { result = jedisCluster.incr(key); } catch (Exception e) { log.error("jedisCluster incr error and key = " + key, e); } return result; }
适用场景:
高并发生成订单号,秒杀类的业务逻辑等。。
Redis适用于高并发的递增、递减功能
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。