package com.iailab.module.shasteel.framework.captcha.core; import com.xingyuv.captcha.service.CaptchaCacheService; import lombok.Setter; import org.springframework.data.redis.core.StringRedisTemplate; import java.util.concurrent.TimeUnit; /** * 基于 Redis 实现验证码的存储 * * @author 星语 */ @Setter public class RedisCaptchaServiceImpl implements CaptchaCacheService { private StringRedisTemplate stringRedisTemplate; @Override public String type() { return "redis"; } @Override public void set(String key, String value, long expiresInSeconds) { stringRedisTemplate.opsForValue().set(key, value, expiresInSeconds, TimeUnit.SECONDS); } @Override public boolean exists(String key) { return Boolean.TRUE.equals(stringRedisTemplate.hasKey(key)); } @Override public void delete(String key) { stringRedisTemplate.delete(key); } @Override public String get(String key) { return stringRedisTemplate.opsForValue().get(key); } @Override public Long increment(String key, long val) { return stringRedisTemplate.opsForValue().increment(key,val); } }