redis实现延迟功能

2018-07-24  本文已影响126人  周六不算加班
/**
 * 延迟10秒钟
 * @param phone
 * @return
 */
@Override
public  Object delay(final String phone){
    String redisKey = "SMS_LIMIT_"+phone;
    ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
    Long count = operations.increment(redisKey,1);

    if (count == 1){
        redisTemplate.expire(redisKey,10,TimeUnit.SECONDS);
    }
    if (count >1){
        return "10秒内只能操作一次";
    }

    /**
     * 可以用来发短信等操作
     */
    this.set(phone,"bbb");
    return "操作成功";
}
上一篇 下一篇

猜你喜欢

热点阅读