download
:吃透前端工程化,大厂级实战项目以战带练
【体系课-吃透前端工程化,大厂级实战项目以战带练MKW无密】复制下哉ZY
:https://www.97yrbl.com/t-1383.html
@Component
public class RedisUtil {
public static RedisUtil util;
public RedisUtil(@AutowiredJedisPool jedisPool) {
this.jedisPool = jedisPool;
RedisUtil.util = this;
}
public static RedisUtil getInstance(){
return util;
}
@Autowired
private JedisPool jedisPool;
/**
* 向Redis中存值,永久有效
*/
public String set(String key, String value) {
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
return jedis.set(key, value);
} catch (Exception e) {
return "0";
} finally {
jedis.close();
}
}
/**
* 根据传入Key获取指定Value
*/
public String get(String key) {
Jedis jedis = null;
String value;
try {
jedis = jedisPool.getResource();
value = https://www.it610.com/article/jedis.get(key);
} catch (Exception e) {
return"0";
} finally {
jedis.close();
}
return value;
}
/**
* 校验Key值是否存在
*/
public Boolean exists(String key) {
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
return jedis.exists(key);
} catch (Exception e) {
return false;
} finally {
jedis.close();
}
}
/**
* 删除指定Key-Value
*/
public Long del(String key) {
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
return jedis.del(key);
} catch (Exception e) {
return 0L;
} finally {
jedis.close();
}
}
/**
* 分布式锁
* @param key
* @param value
* @param time 锁的超时时间,单位:秒
*
* @return 获取锁成功返回"OK",失败返回null
*/
public String getDistributedLock(String key,String value,int time){
Jedis jedis = null;
String ret = "";
try {
jedis = jedisPool.getResource();
ret = jedis.set(key, value, new SetParams().nx().ex(time));
return ret;
} catch (Exception e) {
return null;
} finally {
jedis.close();
}
}
public void pub(){
jedisPool.getResource().publish("test","msg");
}
}