java 操作redis

     java 有多个redis 驱动, 以jedis 为例。

1.首先获取链接池:

private static JedisPool pool = null;
	static {
		JedisPoolConfig config = new JedisPoolConfig();
		config.setMaxTotal(total); // 最大链接
		config.setMaxWaitMillis(waitMillis); //等待时间
		config.setMaxIdle(maxIdle); // 最大空闲时间
		config.setTimeBetweenEvictionRunsMillis(runMillis); //回收链接的间隔
		/**
		 * used at  Server without auth 
		 */
		pool = new JedisPool(config, host, port);
		/**
		 * used at Server with auth
		 */
		//pool = new JedisPool(config, host, port, Protocol.DEFAULT_TIMEOUT, auth);
	}

更多配置可以在 JedisPoolConfig类里面找到具体内容。 

2. 开发获取回收接口

/**
	 * 获取jedis 实例
	 * @return
	 */
	public static Jedis getRedis() {
		return pool.getResource();
	}
	
	/**
	 * 返回jedis 实例
	 */
	public static void returnRedis(Jedis jed){
		pool.returnResource(jed);
	}
	
	public static void returnBrokenRedis(Jedis jed){
		pool.returnBrokenResource(jed);
	}
如果在操作redis 的时候发生了异常,一定要调用returnBrokenRedis.  否则下次获取的instance 可能含有上次操作的脏数据, 报一些 莫名其妙的类型转化错误


3. 操作redis 的api, 参看:http://redis.readthedocs.org/en/latest/ 。 基本上所有redis 的操作,都有对应的java方法

比如: hlen(key)  对应的方法是: instance.hlen(String)

多个操作,可以用pipe

<span style="white-space:pre">		</span>Pipeline pipelined = redis.pipelined();
		pipelined.set("key1", "val1");
		pipelined.set("key2", "val2");
		pipelined.set("key3", "val3");
		pipelined.sync();



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值