Java源码示例:org.springframework.data.redis.support.atomic.RedisAtomicInteger
示例1
@RateLimit(key = "test", time = 10, count = 5)
@GetMapping("/test")
public String luaLimiter() {
// 简单测试方法
RedisAtomicInteger entityIdCounter = new RedisAtomicInteger("counter", redisTemplate.getConnectionFactory());
String date = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS");
return date + " 累计访问次数:" + entityIdCounter.getAndIncrement();
}
示例2
@Override
public Integer addAndGetInteger(String key, int step) {
RedisAtomicInteger counter =
new RedisAtomicInteger(key, redisTemplate.getConnectionFactory());
Integer sequence = counter.addAndGet(step);
return sequence;
}
示例3
@Bean
RedisAtomicInteger chatMessageCounter(RedisConnectionFactory redisConnectionFactory) {
return new RedisAtomicInteger(MESSAGE_COUNTER_KEY, redisConnectionFactory);
}
示例4
@Bean
RedisAtomicInteger chatMessageCounter(RedisConnectionFactory redisConnectionFactory) {
return new RedisAtomicInteger(MESSAGE_COUNTER_KEY, redisConnectionFactory);
}
示例5
public RedisChatMessagePublisher(ReactiveStringRedisTemplate reactiveStringRedisTemplate, RedisAtomicInteger chatMessageCounter, RedisAtomicLong activeUserCounter, ObjectMapper objectMapper) {
this.reactiveStringRedisTemplate = reactiveStringRedisTemplate;
this.chatMessageCounter = chatMessageCounter;
this.activeUserCounter = activeUserCounter;
this.objectMapper = objectMapper;
}