首页 > 代码库 > Java客户端Jedis

Java客户端Jedis

使用Jedis的Java客户端

maven依赖

<!-- jedis --><dependency>    <groupid>redis.clients</groupid>    jedis</artifactid>    <version>2.9.0</version></dependency> <!-- fastjson --><dependency>    <groupid>com.alibaba</groupid>    fastjson</artifactid>    <version>1.2.22</version></dependency>

使用Jedis连接池

JedisUtil.java

package com.wishfulcloud.commons.dataSource.redis.jedis; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool; /**    * Jedis 工具类 *  *  * @author wangxuezheng * @date 2017年3月21日 下午3:28:18 * @version V1.0    * */public class JedisUtil {     private static volatile GenericObjectPoolConfig poolConfig = null;     static{        poolConfig = new GenericObjectPoolConfig();         // 最大连接数为默认值的5倍        poolConfig.setMaxTotal(GenericObjectPoolConfig.DEFAULT_MAX_TOTAL * 5);        // 最大空闲连接数为默认值的3倍        poolConfig.setMaxIdle(GenericObjectPoolConfig.DEFAULT_MAX_IDLE * 3);        // 最小空闲连接数为默认值的2倍        poolConfig.setMinIdle(GenericObjectPoolConfig.DEFAULT_MIN_IDLE * 2);        // 开启jmx功能        poolConfig.setJmxEnabled(true);        // 连接池没有连接后客户端的最大等待时间(单位 毫秒)        poolConfig.setMaxWaitMillis(3000);    }      private static volatile JedisPool jedisPool = null;     private JedisUtil(){}     /**     * 从连接池中获取一个Jedis实例     *      * @return     */    public static Jedis getJedisInstance() throws Exception{         try {            if(null == jedisPool){                synchronized (JedisUtil.class){                    if(null == jedisPool){                        jedisPool = new JedisPool(poolConfig,"192.168.1.218",6379);                    }                }            }        } catch (Exception e) {            throw e;        }        return jedisPool.getResource();    }     /**     * 归还到连接池     *      * @param jedis     */    public static void close(Jedis jedis) throws Exception{        try {            if(null != jedis){                jedis.close();            }        } catch (Exception e) {            throw e;        }    }}

BaseCache.java

package com.wishfulcloud.commons.dataSource.redis.jedis; import com.alibaba.fastjson.JSON; import redis.clients.jedis.Jedis; /**    * 单机或着主从复制 ,Jedis Java 客户端 *  * @author wangxuezheng * @date 2017年3月21日 下午3:55:26 * @version V1.0    * */public class BaseCache<t> {     /**     * 保存或者更新一个实体     *      * 如果seconds参数值不为0的话,则是过期缓存,具有缓存时长     *      * @param jedis     * @param entity 实体对象     * @param id     实体主键     * @param seconds 有效时长多少秒     *        * @return true 保存或更新成功      *         false 保存或更新失败     */    public Boolean saveOrUpdate(Jedis jedis, T entity, String id, int seconds){        String key  = entity.getClass().getSimpleName().toLowerCase() + ":" + id;        String ok = jedis.set(key , JSON.toJSONString(entity));        if (seconds != 0){            jedis.expire(key, seconds);        }        return "OK".equals(ok);    }     /**     * 根据类型和id获取一个实体,未获取到返回 null     *      * @param jedis     * @param clazz 实体.class     * @param id    主键id     *      * @return T 或着 null     */    public T getById(Jedis jedis, Class<t> clazz, String id){        String object = jedis.get(clazz.getSimpleName().toLowerCase() + ":" +id);        return JSON.parseObject(object, clazz);    }     /**     * 根据id删除一个实体对象     *      * @param jedis     * @param clazz 实体.class     * @param id 主键id     * @return  true 删除成功     *          false 删除失败     *           */    public Boolean deleteEntity(Jedis jedis, Class<t> clazz, String id){        String key = clazz.getSimpleName().toLowerCase() + ":" +id;        return jedis.del(key) > 0;    } }

 

Java客户端Jedis