Redis工具栏封装
package cn.king.glasses.modular.system.redis;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Repository;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
@Repository
public class RedisTemplete {
private Jedis jedis; // 非切片额客户端连接
private JedisPool jedisPool; // 非切片连接池
private static final Logger logger = LoggerFactory.getLogger(RedisTemplete.class);
public RedisTemplete() {
initialPool();
jedis = jedisPool.getResource();
}
/**
* 初始化非切片池
* @Description:
* @author fxg
* @date: 2018年9月11日 下午2:23:44
*/
private void initialPool() {
logger.info("redis初始化");
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(5);
config.setMaxWaitMillis(10001);
config.setTestOnBorrow(false);
jedisPool = new JedisPool(config, "127.0.0.1", 6379);
}
/**
* 设置单个值
* @Description:
* @author fxg
* @date: 2018年9月11日 下午3:30:11
* @param key 键名
* @param value 键值
* @return
*/
public String set(String key, String value) {
String result = null;
if (jedis == null) {
logger.info("没有连接");
return result;
}
try {
result = jedis.set(key, value);
return result;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 获取单个值
* @Description:
* @author fxg
* @date: 2018年9月11日 下午3:34:35
* @param key 键名
* @return
*/
public String get(String key) {
String result = null;
if (jedis == null) {
logger.info("没有连接");
return result;
}
try {
result = jedis.get(key);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 判断键名为 key 的是否存在
* @Description:
* @author fxg
* @date: 2018年9月11日 下午3:36:49
* @param key
* @return
*/
public Boolean exists(String key) {
Boolean result = false;
if (jedis == null) {
logger.info("没有连接");
return result;
}
try {
result = jedis.exists(key);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 根据键名key判断类型
* @Description:
* @author fxg
* @date: 2018年9月11日 下午3:38:23
* @param key
* @return
*/
public String type(String key) {
String result = null;
if (jedis == null) {
logger.info("没有连接");
return result;
}
try {
result = jedis.type(key);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 在某段时间后失效
* @Description:
* @author fxg
* @date: 2018年9月11日 下午3:40:51
* @param key 键名
* @param seconds 失效时间,单位:秒
* @return
*/
public Long expire(String key, Integer seconds) {
Long result = null;
if (jedis == null) {
logger.info("没有连接");
return result;
}
try {
result = jedis.expire(key, seconds);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 在某个时间点失效
* @Description:
* @author fxg
* @date: 2018年9月11日 下午3:42:59
* @param key 键名
* @param unixTime
* @return
*/
public Long expireAt(String key, Long unixTime) {
Long result = null;
if (jedis == null) {
logger.info("没有连接");
return result;
}
try {
result = jedis.expireAt(key, unixTime);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 该键有效时间
* @Description:
* @author fxg
* @date: 2018年9月11日 下午3:44:29
* @param key 键名
* @return
*/
public Long ttl(String key) {
Long result = null;
if (jedis == null) {
logger.info("没有连接");
return result;
}
try {
result = jedis.ttl(key);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public Boolean setbit(String key, Long offset, Boolean value) {
Boolean result = null;
if (jedis == null) {
logger.info("没有连接");
return result;
}
try {
result = jedis.setbit(key, offset, value);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public Boolean getbit(String key, Long offset) {
Boolean result = null;
if (jedis == null) {
logger.info("没有连接");
return result;
}
try {
result = jedis.getbit(key, offset);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public long setRange(String key, Long offset, String value) {
long result = 0;
if (jedis == null) {
logger.info("没有连接");
return result;
}
try {
result = jedis.setrange(key, offset, value);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public String getRange(String key, Long startOffset, Long endOffset) {
String result = null;
if (jedis == null) {
logger.info("没有连接");
return result;
}
try {
result = jedis.getrange(key, startOffset, endOffset);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public String set(byte[] key, byte[] value) {
String result = null;
if (jedis == null) {
logger.info("没有连接");
return result;
}
try {
result = jedis.set(key, value);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public byte[] get(byte[] key) {
byte[] result = null;
if (jedis == null) {
logger.info("没有连接");
return result;
}
try {
result = jedis.get(key);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}