/**
* 指定缓存失效时间
*
* @param keys 键
* @return
*/
@Transactional
public boolean isExistMd5Key(Long timeout, Object... keys) {
if (timeout == null) {
timeout = 60L;
}
StringBuffer buffer = new StringBuffer();
for (Object key : keys) {
buffer.append(JSON.toJSONString(key));
}
String md5Hex = DigestUtils.md5Hex(buffer.toString());
// 只有在 key 不存在时设置 key 的值 设置成功返回true,否则返回false
Boolean flag = redisTemplate.opsForValue().setIfAbsent(md5Hex, 1);
if (flag) {
redisTemplate.expire(md5Hex, timeout, TimeUnit.SECONDS);
}
return flag;
}
/**
* 指定缓存失效时间
*
* @param key 键
* @param time 时间(秒)
* @return
*/
@Transactional
public boolean expire(String key, long time) {
try {
if (time > 0) {
redisTemplate.expire(key, time, TimeUnit.SECONDS);
}
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
指定时间内不能重复参数请求
最新推荐文章于 2022-01-14 12:47:12 发布