jedis客户端对象的使用

 最近初次尝试使用redis,java客户端采用的jedis,写了几个简单的类满足基本的服务器配置,以及客户端对象的使用等。

客户端对象的创建
package jediscache.common;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.Protocol;

public class JedisFactory {
	
	private JedisPoolConfig jedisPoolConfig;
	
	private JedisPool jedisPool;

	public JedisFactory(JedisPoolConfig jedisPoolConfig) {
		super();
		this.jedisPoolConfig = jedisPoolConfig;
	}
	
	public Jedis getJedisInstance(String host) {
		return getJedisPool(host, Protocol.DEFAULT_PORT).getResource();
	}
	
	public Jedis getJedisInstance(String host, int port) {
		return getJedisPool(host, port).getResource();
	}
	
	public JedisPool getJedisPool(String host) {
		return getJedisPool(host, Protocol.DEFAULT_PORT);
	}

	public JedisPool getJedisPool(String host, int port) {
		if (jedisPool == null) {
			jedisPool = new JedisPool(jedisPoolConfig, host, port);
		}
		return jedisPool;
	}
	
	/**
	 * 配合使用getJedisInstance方法后将jedis对象释放回连接池中
	 * 
	 * @param jedis 使用完毕的Jedis对象
	 * @return true 释放成功;否则返回false
	 */
	public boolean release(Jedis jedis) {
		if (jedisPool != null && jedis != null) {
			jedisPool.returnResource(jedis);
			return true;
		}
		return false;
	}

}

 

使用客户端对象
	public void testLpush() {
		JedisFactory factory = new JedisFactory(new JedisPoolConfig());
		Jedis jedis = factory.getJedisInstance("localhost");
		
		try {
			String word = "word";
			jedis.lpush(word, "first");
			jedis.lpush(word, "second");
			jedis.lpush(word, "three");
			System.out.println("word : " + jedis.lrange(word, 0, -1));
		} finally {
			factory.release(jedis);
		}
	}


 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值