java操作redis多节点处理方式;http://blog.itpub.net/29254281/viewspace-1188644/
首先maven引入依赖包

<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.2</version>
</dependency>
/*
***************************************************************
* 公司名称    :牛牛
* 系统名称    :问问系统
* 类 名 称    :RedisHelper
* 功能描述    : redis缓存处理类
* 业务描述    :
* 作 者 名    :@Author Royal
* 开发日期    :2015-11-04 10:24
***************************************************************
* 修改日期    :
* 修 改 者    :
* 修改内容    :
***************************************************************
*/
package zhengxin.core;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.*;

public class RedisHelper {

    //redis数据库连接池
    private static Dictionary<Integer, JedisPool> pools = new Hashtable();

    static {
        ResourceBundle bundle = ResourceBundle.getBundle("redis");
        if (bundle == null) {
            throw new IllegalArgumentException(
                    "[redis.properties] is not found!");
        }
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(Integer.valueOf(bundle
                .getString("redis.pool.maxActive")));
        config.setMaxIdle(Integer.valueOf(bundle
                .getString("redis.pool.maxIdle")));
        config.setTestOnBorrow(Boolean.valueOf(bundle
                .getString("redis.pool.testOnBorrow")));
        config.setTestOnReturn(Boolean.valueOf(bundle
                .getString("redis.pool.testOnReturn")));

        //循环创建16个redis数据库连接池,存放在字典里面
        for (int i = 0; i < 16; i++) {
            JedisPool item = new JedisPool(config, bundle.getString("redis.ip"),
                    Integer.valueOf(bundle.getString("redis.port")), 0,
                    bundle.getString("redis.password"), i);
            pools.put(i, item);
        }
    }

    /**
     * 直接返回redispool 方便灵活操作
     * @param db 数据库序号
     */
    public static JedisPool getRedisPool(Integer db) {
        return pools.get(db);
    }

    /**
     * 设置数据
     * @param key     //key
     * @param value   //值
     * @param timeOut //过期时间
     * @param db      //数据库序号
     */
    public static void set(String key, String value, Integer timeOut, Integer db) {
        JedisPool poolItem = pools.get(db);
        Jedis jredis = poolItem.getResource();
        if (timeOut > 0) {
            jredis.expire(key, timeOut);
        }
        jredis.set(key, value);
        poolItem.returnResourceObject(jredis);
    }

    /**
     *  获得hash型key某个字段的值
     * @param key     //key
     * @param field   //hash字段
     * @param db      //数据库序号
     * */
    public static String getHashField(String key, String field, Integer db) {
        JedisPool poolItem = pools.get(db);
        Jedis jredis = poolItem.getResource();
        String result = jredis.hget(key, field);
        poolItem.returnResourceObject(jredis);
        return result;
    }

    /**
     * 根据hashid获取Map 获得hash型key某个字段的值
     * @param hashId  //key键
     * @param db      //数据库序号
     * */
    public static Map<String, String> getHashValues(String hashId, Integer db) {
        JedisPool poolItem = pools.get(db);
        Jedis jredis = poolItem.getResource();
        Map<String, String> result = jredis.hgetAll(hashId);
        poolItem.returnResourceObject(jredis);
        return result;
    }

    /**
     * 设置数据
     * @param key     //key
     * @param value   //值
     * @param field   //hash字段
     * @param db      //数据库序号
     */
    public static void SetHashField(String key, String field, String value, Integer db) {
        JedisPool poolItem = pools.get(db);
        Jedis jredis = poolItem.getResource();
        jredis.hset(key, field, value);
        poolItem.returnResourceObject(jredis);
    }

    /**
     * 获取数据
     * @param key     //key
     * @param db      //数据库序号
     */
    public static String get(String key, Integer db) {
        JedisPool poolItem = pools.get(db);
        Jedis jredis = poolItem.getResource();
        String result = jredis.get(key);
        poolItem.returnResourceObject(jredis);
        return result;
    }

    /**
     * 删除数据
     * @param key     //key
     * @param db      //数据库序号
     */
    public static void del(String key, Integer db) {
        JedisPool poolItem = pools.get(db);
        Jedis jredis = poolItem.getResource();
        Long result = jredis.del(key);
        poolItem.returnResourceObject(jredis);
    }

    /**
     * 队列插入数据
     * @param key     //键
     * @param value   //值
     * @param db      //数据库序号
     */
    public static void lpush(String key, String value, Integer db) {
        JedisPool poolItem = pools.get(db);
        Jedis jredis = poolItem.getResource();
        jredis.lpush(key, value);
        poolItem.returnResourceObject(jredis);
    }

    /**
     * 队列取出数据
     * @param key     //键
     * @param db      //数据库序号
     */
    public static String lpop(String key, Integer db) {
        JedisPool poolItem = pools.get(db);
        Jedis jredis = poolItem.getResource();
        String result = jredis.lpop(key);
        poolItem.returnResourceObject(jredis);
        return result;
    }

    /**
     * hash 获取键字段
     * @param key     //键
     * @param field   //hash字段
     * @param db      //数据库序号
     */
    public static String hget(String key, String field, Integer db) {
        JedisPool poolItem = pools.get(db);
        Jedis jredis = poolItem.getResource();
        String result = jredis.hget(key, field);
        poolItem.returnResourceObject(jredis);
        return result;
    }

    /**
     * hash 删除键字段
     * @param key     //键
     * @param field   //hash字段
     * @param db      //数据库序号
     *
     */
    public static void hdel(String key, String field, Integer db) {
        JedisPool poolItem = pools.get(db);
        Jedis jredis = poolItem.getResource();
        jredis.hdel(key, field);
        poolItem.returnResourceObject(jredis);
    }

    /**
     * 获取key下所有的值
     * @param key     //键
     * @param db      //数据库序号
     * @return list
     */
    public static List<String> llist(String key, Integer db) {
        JedisPool poolItem = pools.get(db);
        Jedis jredis = poolItem.getResource();
        List<String> result = jredis.lrange(key, 0, -1);
        poolItem.returnResourceObject(jredis);
        return result;
    }
}