递增指令:incr(默认从0开始)

递减指令:decr(默认从0开始,递减会出现负数,这点跟memcache不一样,mc到0)

如下:

Redis适用于高并发的递增、递减功能

附上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;
    }

适用场景:

  高并发生成订单号,秒杀类的业务逻辑等。。

相关文章:

  • 2021-12-09
  • 2022-02-05
  • 2022-12-23
  • 2021-07-13
  • 2022-12-23
  • 2021-05-08
  • 2022-01-05
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-26
  • 2021-12-26
  • 2021-10-09
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案