package com.csdj.util;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.alibaba.fastjson.JSON;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
@Component
public class RedisUtil {
@Autowired
JedisPool pool; // Jedis连接池
/**
* 判断Redis中是否存在键
*
* @param key
* @return
*/
public boolean existsKey(String key) {
Jedis jedis = pool.getResource();
boolean bool;
try {
bool = jedis.exists(key);
} finally {
jedis.close();
}
return bool;
}
/**
* 根据键删除缓存中的数据
* @param key
* @return
*/
public boolean deleteKey(String key) {
Jedis jedis = pool.getResource();
boolean bool;
try {
Set<String> set = jedis.keys(key);
for (String s : set) {
jedis.del(s);
}
return true;
} finally {
jedis.close();
}
}
/**
* 把List集合对象转换成json格式保存到指定的键中
*
* @param object
* @param key
*/
public void saveJson(Object object, String key) {
Jedis jedis = pool.getResource();
try {
// 格式化成Json字符串
String string = JSON.toJSONString(object);
jedis.set(key, string); // 存入缓存
jedis.expire(key, 600); //设置缓存时间
} finally {
jedis.close();
}
}
/**
* 通过键取出Json字符串并转换成Java对象
*
* @param key
* @return
*/
@SuppressWarnings("unchecked")
public Object getJson(String key,Class clazz) {
Jedis jedis = pool.getResource();
try {
String str = jedis.get(key);
return JSON.parseObject(str,clazz);
} finally {
jedis.close();
}
}
}
07-08
283