一个基于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);
    }  
}
相关推荐
安娜的信息安全说3 分钟前
深入浅出 MQTT:轻量级消息协议在物联网中的应用与实践
开发语言·物联网·mqtt
lang2015092817 分钟前
Spring Boot日志配置完全指南
java·spring boot·单元测试
在坚持一下我可没意见22 分钟前
HTTP 协议基本格式与 Fiddler 抓包工具实战指南
java·开发语言·网络协议·tcp/ip·http·java-ee·fiddler
樱花开了几轉31 分钟前
element ui下拉框踩坑
开发语言·javascript·ui
报错小能手35 分钟前
C++笔记(面向对象)RTTI操作符
开发语言·c++·笔记
草明37 分钟前
Go 的 IO 多路复用
开发语言·后端·golang
蓝-萧43 分钟前
Plugin ‘mysql_native_password‘ is not loaded`
java·后端
故事不长丨1 小时前
【Java SpringBoot+Vue 实现视频文件上传与存储】
java·javascript·spring boot·vscode·后端·vue·intellij-idea
晟盾科技1 小时前
报表类系统后端API设计思路
开发语言·windows·php
AI纪元故事会1 小时前
冰泪与雨丝:一个AI的Python挽歌
开发语言·人工智能·python