package org.dromara.common.sms.core.dao; import org.dromara.common.core.constant.GlobalConstants; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.sms4j.api.dao.SmsDao; import java.time.Duration; /** * SmsDao缓存配置 (使用框架自带RedisUtils实现 协议统一) *
主要用于短信重试和拦截的缓存 * * @author Feng */ public class PlusSmsDao implements SmsDao { /** * 存储 * * @param key 键 * @param value 值 * @param cacheTime 缓存时间(单位:秒) */ @Override public void set(String key, Object value, long cacheTime) { RedisUtils.setCacheObject(GlobalConstants.GLOBAL_REDIS_KEY + key, value, Duration.ofSeconds(cacheTime)); } /** * 存储 * * @param key 键 * @param value 值 */ @Override public void set(String key, Object value) { RedisUtils.setCacheObject(GlobalConstants.GLOBAL_REDIS_KEY + key, value, true); } /** * 读取 * * @param key 键 * @return 值 */ @Override public Object get(String key) { return RedisUtils.getCacheObject(GlobalConstants.GLOBAL_REDIS_KEY + key); } /** * remove *
根据key移除缓存 * * @param key 缓存键 * @return 被删除的value * @author :Wind */ @Override public Object remove(String key) { return RedisUtils.deleteObject(GlobalConstants.GLOBAL_REDIS_KEY + key); } /** * 清空 */ @Override public void clean() { RedisUtils.deleteKeys(GlobalConstants.GLOBAL_REDIS_KEY + "sms:*"); } }