Java 客户端 Jedis:使用 Jedis 的 Java 客户端。
maven 依赖
- redis.clients jedis 2.9.0 com.alibaba fastjson 1.2.22
使用 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 {
- /** * 保存或者更新一个实体 * * 如果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 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 clazz, String id) {
- String key = clazz.getSimpleName().toLowerCase() + ":" + id;
- return jedis.del(key) > 0;
- }
- }
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: http://www.92to.com/bangong/2017/03-23/19310757.html