java redis缓存工具类_Redis在JAVA中的运用(工具类)

最近项目需要用redis在中间做缓存所以写了一个工具类作为练习用

redis版本:redis_version:3.0.504

用到阿里的解析JSON的库:fastjson

import org.apache.log4j.Logger;

import org.apache.log4j.chainsaw.Main;

import com.alibaba.fastjson.JSONObject;

import redis.clients.jedis.Jedis;

import redis.clients.jedis.JedisPool;

import redis.clients.jedis.JedisPoolConfig;

/**

* @Description:redis工具类

* @ClassName:

* @date 2016年10月31日 上午11:25:06

*/

@SuppressWarnings("unused")

public class RedisUtils

{

private static final String IP = "127.0.0.1"; // ip

private static final int PORT = 6379; // 端口

private static final String AUTH=""; // 密码(原始默认是没有密码)

private static int MAX_ACTIVE = 1024; // 最大连接数

private static int MAX_IDLE = 200; // 设置最大空闲数

private static int MAX_WAIT = 10000; // 最大连接时间

private static int TIMEOUT = 10000; // 超时时间

private static boolean BORROW = true; // 在borrow一个事例时是否提前进行validate操作

private static JedisPool pool = null;

private static Logger logger = Logger.getLogger(RedisUtils.class);

/**

* 初始化线程池

*/

static

{

JedisPoolConfig config = new JedisPoolConfig();

config.setMaxTotal(MAX_ACTIVE);

config.setMaxIdle(MAX_IDLE);

config.setMaxWaitMillis(MAX_WAIT);

config.setTestOnBorrow(BORROW);

pool = new JedisPool(config, IP, PORT, TIMEOUT);

}

/**

* 获取连接

*/

public static synchronized Jedis getJedis()

{

try

{

if(pool != null)

{

return pool.getResource();

}

else

{

return null;

}

}

catch (Exception e) {

logger.info("连接池连接异常");

return null;

}

}

/**

* @Description:设置失效时间

* @param @param key

* @param @param seconds

* @param @return

* @return boolean 返回类型

*/

public static void disableTime(String key,int seconds)

{

Jedis jedis = null;

try

{

jedis = getJedis();

jedis.expire(key, seconds);

}

catch (Exception e) {

logger.debug("设置失效失败.");

}finally {

getColse(jedis);

}

}

/**

* @Description:插入对象

* @param @param key

* @param @param obj

* @param @return

* @return boolean 返回类型

*/

public static boolean addObject(String key,Object obj)

{

Jedis jedis = null;

String value = JSONObject.toJSONString(obj);

try

{

jedis = getJedis();

String code = jedis.set(key, value);

if(code.equals("ok"))

{

return true;

}

}

catch (Exception e) {

logger.debug("插入数据有异常.");

return false;

}finally {

getColse(jedis);

}

return false;

}

/**

* @Description:存储key~value

* @param @param key

* @param @param value

* @return void 返回类型

*/

public static boolean addValue(String key,String value)

{

Jedis jedis = null;

try

{

jedis = getJedis();

String code = jedis.set(key, value);

if(code.equals("ok"))

{

return true;

}

}

catch (Exception e) {

logger.debug("插入数据有异常.");

return false;

}finally {

getColse(jedis);

}

return false;

}

/**

* @Description:删除key

* @param @param key

* @param @return

* @return boolean 返回类型

*/

public static boolean delKey(String key)

{

Jedis jedis = null;

try

{

jedis = getJedis();

Long code = jedis.del(key);

if(code > 1)

{

return true;

}

}

catch (Exception e) {

logger.debug("删除key异常.");

return false;

}finally {

getColse(jedis);

}

return false;

}

/**

* @Description: 关闭连接

* @param @param jedis

* @return void 返回类型

*/

public static void getColse(Jedis jedis)

{

if(jedis != null)

{

jedis.close();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值