一个基于RedisTemplate静态工具类

每次是用RedisTemplate的时候都需要进行自动注入实在是太麻烦了,于是找到一个讨巧的办法。

java 复制代码
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import java.util.concurrent.TimeUnit;

/**
 * @author admin
 */
@Component
public class RedisUtil {

    @Autowired
    private RedisTemplate<String,String> redisTemplate;

    private static RedisTemplate<String,String> redisTemp;

    @PostConstruct
    public void initRedisTem(){
        redisTemp = redisTemplate;
    }

    public static void set(String key, String value,int timeout, TimeUnit timeUnit) {
        redisTemp.opsForValue().set(key, value);
    }  
  
    public static String get(String key) {  
        return redisTemp.opsForValue().get(key);
    }  
  
    public static boolean tryLock(String lockKey, int timeout, TimeUnit timeUnit) {
        return Boolean.TRUE.equals(redisTemp.opsForValue().setIfAbsent(lockKey, "locked", timeout, timeUnit));
    }  
  
    public static void unlock(String lockKey) {
        redisTemp.delete(lockKey);
    }  
}
相关推荐
sR916Mecz1 分钟前
Netty 线程模型
java·数据库·oracle
Vfw3VsDKo1 分钟前
Flink源码阅读:Netty通信
java·前端·flink
疯狂打码的少年4 分钟前
【Day 6 Java转Python】字符串处理的“降维打击”
java·开发语言·python
EFCY1MJ9023 分钟前
MYSQL ID耗尽应急恢复方案
java·数据库·mysql
hogenlaw34 分钟前
Stream流
android·java·开发语言
ShCDNay44 分钟前
Python核心底层知识(个人记录)
开发语言·python
xyq20241 小时前
组合实体模式
开发语言
来自远方的老作者1 小时前
第7章 运算符-7.2 赋值运算符
开发语言·数据结构·python·赋值运算符
A.A呐1 小时前
【C++第二十四章】异常
开发语言·c++
常利兵1 小时前
解锁Kotlin:数据类与密封类的奇妙之旅
android·开发语言·kotlin