一个基于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);
    }  
}
相关推荐
DevilSeagull几秒前
C语言: C语言内存函数详解
c语言·开发语言·算法
软泡芙2 分钟前
【猿知识】编码全解析:从字符编码到数值表示
开发语言
一 乐25 分钟前
林业资源管理|基于java + vue林业资源管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·林业资源管理系统
u***357430 分钟前
对基因列表中批量的基因进行GO和KEGG注释
开发语言·数据库·golang
lipiaoshuigood30 分钟前
微服务生态组件之Spring Cloud LoadBalancer详解和源码分析
java·spring cloud·微服务
像风一样的男人@31 分钟前
python --打包pyd或so文件
开发语言·python
Geoking.33 分钟前
什么是乐观锁?原理、实现方式与实战详解
java·开发语言
愚者游世34 分钟前
long long各版本异同
开发语言·c++·程序人生·职场和发展
小光学长41 分钟前
基于ssm的校园约自习网站23i21xj4(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·spring
人道领域1 小时前
Spring拦截器原理与实战详解
java·运维·服务器