源代码下载: http://download.csdn.net/detail/jiangtao_st/7623113
1、Maven配置
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.5.0</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.41</version> </dependency></span>
2、Properties 配置文件
redis.pool.maxActive= 100
redis.pool.maxIdle= 20
redis.pool.maxWait= 3000
redis.ip= localhost
redis.port= 6379
3、代码具体实现的Client
/** * * <p> * Redis客户端访问 * </p> * * @author 卓轩 * @创建时间:2014年7月11日 * @version: V1.0 */ public class RedisClient { public static JedisPool jedisPool; static { ResourceBundle resourceBundle = ResourceBundle.getBundle("redis"); int maxActive = Integer.parseInt(resourceBundle.getString("redis.pool.maxActive")); int maxIdle = Integer.parseInt(resourceBundle.getString("redis.pool.maxIdle")); int maxWait = Integer.parseInt(resourceBundle.getString("redis.pool.maxWait")); String ip = resourceBundle.getString("redis.ip"); int port = Integer.parseInt(resourceBundle.getString("redis.port")); JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(maxActive); config.setMaxIdle(maxIdle); config.setMaxWaitMillis(maxWait); jedisPool = new JedisPool(config, ip, port); } /** * 向缓存中设置字符串内容 * @param key key * @param value value * @return * @throws Exception */ public static boolean set(String key,String value) throws Exception{ Jedis jedis = null; try { jedis = jedisPool.getResource(); jedis.set(key, value); return true; } catch (Exception e) { e.printStackTrace(); return false; }finally{ jedisPool.returnResource(jedis); } } /** * 向缓存中设置对象 * @param key * @param value * @return */ public static boolean set(String key,Object value){ Jedis jedis = null; try { String objectJson = JSON.toJSONString(value); jedis = jedisPool.getResource(); jedis.set(key, objectJson); return true; } catch (Exception e) { e.printStackTrace(); return false; }finally{ jedisPool.returnResource(jedis); } } /** * 删除缓存中得对象,根据key * @param key * @return */ public static boolean del(String key){ Jedis jedis = null; try { jedis = jedisPool.getResource(); jedis.del(key); return true; } catch (Exception e) { e.printStackTrace(); return false; }finally{ jedisPool.returnResource(jedis); } } /** * 根据key 获取内容 * @param key * @return */ public static Object get(String key){ Jedis jedis = null; try { jedis = jedisPool.getResource(); Object value = jedis.get(key); return value; } catch (Exception e) { e.printStackTrace(); return false; }finally{ jedisPool.returnResource(jedis); } } /** * 根据key 获取对象 * @param key * @return */ public static <T> T get(String key,Class<T> clazz){ Jedis jedis = null; try { jedis = jedisPool.getResource(); String value = jedis.get(key); return JSON.parseObject(value, clazz); } catch (Exception e) { e.printStackTrace(); return null; }finally{ jedisPool.returnResource(jedis); } } }
4、 单元测试、保存对象、写入对象
/** * * <p> * 测试独立redis 客户端 * </p> * * @author 卓轩 * @创建时间:2014年7月11日 * @version: V1.0 */ public class SimpleClient { @Test public void userCache(){ UserDO zhuoxuan = new UserDO(); zhuoxuan.setUserId(113445); zhuoxuan.setSex(1); zhuoxuan.setUname("卓轩"); zhuoxuan.setUnick("zhuoxuan"); zhuoxuan.setEmail("[email protected]"); boolean reusltCache = RedisClient.set("zhuoxuan", zhuoxuan); if (reusltCache) { System.out.println("向缓存中保存对象成功。"); }else{ System.out.println("向缓存中保存对象失败。"); } } @Test public void getUserInfo(){ UserDO zhuoxuan = RedisClient.get("zhuoxuan",UserDO.class); if(zhuoxuan != null){ System.out.println("从缓存中获取的对象," + zhuoxuan.getUname() + "@" + zhuoxuan.getEmail()); } } }
时间: 2024-11-07 09:43:44