redis 筆記02 --java 操作redis

關於java 中 Jedis jar包操作redis 的實現

package com.phda.util;

import java.util.LinkedList;
import java.util.List;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;

/**
 * java 操作redis
 * @author Administrator
 * 
 * 1.本工具類的作用是獲取jedis ,由jedis 對redis裏的key 進行操作。
 * 
 */
public class RedisUtil {
	private String host = "180.76.186.46";
	private int port=6379;
	private String requirePass = "redis123456";
	private Jedis jedis;
	
	public RedisUtil(String host,int port,String requirePass){
		this.host = host;
		this.port = port;
		this.requirePass = requirePass;
		this.jedis = new Jedis(host, port, 30000, 30000);
		jedis.auth(requirePass);//指定鏈接面
		
	}
	public RedisUtil(){
		this.jedis = new Jedis(host, port, 30000, 30000);
		jedis.auth(requirePass);
	}
	
	public String getHost() {
		return host;
	}
	public void setHost(String host) {
		this.host = host;
	}
	public int getPort() {
		return port;
	}
	public void setPort(int port) {
		this.port = port;
	}

	public Jedis getJedis(){
		return this.jedis;
	}
	
	public String setKey(String key,String value){
//		jedis.get(key);
//		jedis.setnx(key, value);
		return this.jedis.set(key, value);
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		RedisUtil redis = new RedisUtil();
		Jedis jedis = redis.getJedis();
		
		String value = jedis.get("key2");
		System.out.println("value:"+value);
	}

	/**
	 * 從jedis 的池中獲得 jedis
	 * @author Administrator
	 *
	 */
	static class GetJedisByPool{	
		
		 private static JedisPool jedisPool;
		 private static ShardedJedisPool pool;
		 static{
			 	String host="18x.7x.1xx.4x";
		        JedisPoolConfig config = new JedisPoolConfig();//初始化池配置
		        config.setMaxTotal(100);
		        config.setMaxIdle(50);
		        config.setMaxWaitMillis(3000);
		        config.setTestOnBorrow(true);
		        config.setTestOnReturn(true);
		        // 集羣
		        JedisShardInfo jedisShardInfo1 = new JedisShardInfo(host, 6379);
		        jedisShardInfo1.setPassword("xxxxxx");
		        List<JedisShardInfo> list = new LinkedList<JedisShardInfo>();
		        list.add(jedisShardInfo1);   
		        pool = new ShardedJedisPool(config, list);
		        
		        
				GetJedisByPool.jedisPool = new JedisPool(config,host);//新建池
		    }
		
		public static Jedis getJedisByJedisPool(){
			return	jedisPool.getResource();
		}
		public static ShardedJedis getJedisBySharedJedisPool(){//sharedJedis 是集羣操作的鏈接,與jedis提供的方法相同
			return	pool.getResource();
		}
	}
}

上面實例中引用jedis 版本爲:2.9.0。主要寫明瞭java操作redis 的方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章