importjava.util.Arrays;importjava.util.Date;importjava.util.Set;importredis.clients.jedis.Jedis;importredis.clients.jedis.JedisPool;importredis.clients.jedis.JedisPoolConfig;public classRedisDb {private staticJedisPool jedisPool;//session 在redis过期时间是30分钟30*60
private static int expireTime = 1800;//计数器的过期时间默认2天
private static int countExpireTime = 2*24*3600;private static String password = "123456";private static String redisIp = "10.10.31.149";private static int redisPort = 6379;private static int maxActive = 200;private static int maxIdle = 200;private static long maxWait = 5000;private static Logger logger = Logger.getLogger(RedisDb.class);static{
initPool();
}//初始化连接池
public static voidinitPool(){
JedisPoolConfig config= newJedisPoolConfig();
config.setMaxTotal(maxActive);
config.setMaxIdle(maxIdle);
config.setMaxWaitMillis(maxWait);
config.setTestOnBorrow(false);
jedisPool= new JedisPool(config, redisIp, redisPort, 10000, password);
}//从连接池获取redis连接
public staticJedis getJedis(){
Jedis jedis= null;try{
jedis=jedisPool.getResource();//jedis.auth(password);
} catch(Exception e){
ExceptionCapture.logError(e);
}returnjedis;
}//回收redis连接
public static voidrecycleJedis(Jedis jedis){if(jedis != null){try{
jedis.close();
}catch(Exception e){
ExceptionCapture.logError(e);
}
}
}//保存字符串数据
public static voidsetString(String key, String value){
Jedis jedis=getJedis();if(jedis != null){try{
jedis.set(key, value);
}catch(Exception e){
ExceptionCapture.logError(e);
}finally{
recycleJedis(jedis);
}
}
}//获取字符串类型的数据
public staticString getString(String key){
Jedis jedis=getJedis();
String result= "";if(jedis != null){try{
result=jedis.get(key);
}catch(Exception e){
ExceptionCapture.logError(e);
}finally{
recycleJedis(jedis);
}
}returnresult;
}//删除字符串数据
public static voiddelString(String key){
Jedis jedis=getJedis();if(jedis != null){try{
jedis.del(key);
}catch(Exception e){
ExceptionCapture.logError(e);
}finally{
recycleJedis(jedis);
}
}
}//保存byte类型数据
public static void setObject(byte[] key, byte[] value){
Jedis jedis=getJedis();
String result= "";if(jedis != null){try{if(!jedis.exists(key)){
jedis.set(key, value);
}//redis中session过期时间
jedis.expire(key, expireTime);
}catch(Exception e){
ExceptionCapture.logError(e);
}finally{
recycleJedis(jedis);
}
}
}//获取byte类型数据
public static byte[] getObject(byte[] key){
Jedis jedis=getJedis();byte[] bytes = null;if(jedis != null){try{
bytes=jedis.get(key);;
}catch(Exception e){
ExceptionCapture.logError(e);
}finally{
recycleJedis(jedis);
}
}returnbytes;
}//更新byte类型的数据,主要更新过期时间
public static void updateObject(byte[] key){
Jedis jedis=getJedis();if(jedis != null){try{//redis中session过期时间
jedis.expire(key, expireTime);
}catch(Exception e){
ExceptionCapture.logError(e);
}finally{
recycleJedis(jedis);
}
}
}//key对应的整数value加1
public static voidinc(String key){
Jedis jedis=getJedis();if(jedis != null){try{if(!jedis.exists(key)){
jedis.set(key,"1");
jedis.expire(key, countExpireTime);
}else{//加1
jedis.incr(key);
}
}catch(Exception e){
ExceptionCapture.logError(e);
}finally{
recycleJedis(jedis);
}
}
}//获取所有keys
public static SetgetAllKeys(String pattern){
Jedis jedis=getJedis();if(jedis != null){try{returnjedis.keys(pattern);
}catch(Exception e){
ExceptionCapture.logError(e);
}finally{
recycleJedis(jedis);
}
}return null;
}
}