package com.zeekr.hr.recruitment.share.util;
import org.springframework.data.redis.core.RedisTemplate;
import javax.annotation.Resource;
import java.util.concurrent.TimeUnit;
/**
* RedisUtils
*
* @author
* @date 2022/3/4 14:43
*/
public class RedisUtils {
private static RedisTemplate<String, String> redisTemplate;
/**
* setRedisTemplate
*
* @param redisTemplate redisTemplate
* @author
* @date 2022/3/4 14:48
*/
@Resource
public void setRedisTemplate(RedisTemplate<String, String> redisTemplate) {
RedisUtils.redisTemplate = redisTemplate;
}
/**
* 获取key的值
*
* @param key key
* @return java.lang.String
* @author
* @date 2022/3/4 14:47
*/
public static String getValue(String key) {
return redisTemplate.opsForValue().get(key);
}
/**
* 设置key或者设置key的过期时间
*
* @param key key
* @param value value
* @param expire 过期时间
* @param timeUnit timeUnit
* @author
* @date 2022/3/4 14:44
*/
public static void setValue(String key, String value, int expire, TimeUnit timeUnit) {
if (expire <= 0) {
redisTemplate.opsForValue().set(key, value);
} else {
redisTemplate.opsForValue().set(key, value, expire, timeUnit);
}
}
/**
* 单次锁
*
* @param key key
* @param value value
* @param timeout 过期时间
* @return 成功 or 失败
*/
public boolean lockOnce(String key, String value, long timeout) {
try {
Boolean aBoolean = redisTemplate.opsForValue().setIfAbsent(key, value, timeout, TimeUnit.SECONDS);
return null != aBoolean && aBoolean;
} catch (Exception e) {
return false;
}
}
/**
* 删除key
*
* @param key key
* @return 成功 or 失败
*/
public boolean deleteKey(String key) {
try {
return Boolean.TRUE.equals(redisTemplate.delete(key));
} catch (Exception e) {
return false;
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/118690.html