redis计数器使用

161 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 2 天,点击查看活动详情

使用场景

可使用于并发访问限制; 可使用于库存验证。

// 引入redis模板
@Autowired
private RedisTemplate redisTemplate;

/**

  • redis计数器使用示例测试

*/

@Test public void redisCountTest() {

// 定义计数器key值

String countKey = "COUNT_KEY";

// 添加次数
Long increment = redisTemplate.opsForValue().increment(countKey, 1L);
// 对返回的计数器值进行业务验证 如库存验证、并发验证(若用于并发验证,需要每次请求完一次请求后需要主动清除该计数器,即保证每一次访问之处理一次请求)
System.out.println("当前计数器值为"  + increment);
// 验证计数器key失效时间 若没有设置 建议设置有效期
if (redisTemplate.getExpire(countKey) == -1) {
    // 当前计数器key没有设置有效期 需要设置有效期
    redisTemplate.expire(countKey, 1L, TimeUnit.DAYS); // 有效期需要根据具体业务设置,如把计数器作为每日库存 即可把当前key有效期i设置为1天
    
}

}

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 2 天,点击查看活动详情