Redis redis连接池自动连接,释放

匿名 (未验证) 提交于 2019-12-03 00:43:02

此三个版本的jar包能够完全的配合,不会出现jar包冲突,或者版本不符合的情况.redis作为一个数据库,不会影响到正常的业务逻辑.

在java项目中,我们从redis查询是否有我们所需要的缓存,如果没有从数据库中查询出来,然后再存入redis缓存中,redis缓存相当于一个数据库的功能

一.redis利用连接池自动连接和释放

 public class RedisUtil { 		private static JedisPool jedisPool = null; 	    //初始化redis连接池 	    static{ 	        JedisPoolConfig config = new JedisPoolConfig(); 	        //配置最大jedis实例数 	        config.setMaxTotal(1000); 	        //配置资源池最大闲置数 	        config.setMaxIdle(200); 	        //等待可用连接的最大时间 	        config.setMaxWaitMillis(10000); 	        //最大空闲连接 			config.setMaxIdle(5); 	        //则得到的jedis实例均是可用的 	        config.setTestOnBorrow(true); 	        jedisPool = new JedisPool(config,"127.0.0.1",6379); 	    }  	    //获取Jedis实例 	    public synchronized static Jedis getJedis(){ 	        if(jedisPool != null){ 	            Jedis resource = jedisPool.getResource(); 	            return resource; 	        }else{ 	            return null; 	        } 	    }  		    //释放Jedis资源 		    public static void closeJedis(final Jedis jedis){ 		        if(jedis != null){ 		            jedisPool.returnResource(jedis); 		        } 		    } 		     		     		    public static void main(String[] args) { 				Jedis jedis = RedisUtil.getJedis(); 				jedis.hset("fdl_date", "aa", "bb"); 				String hget = jedis.hget("fdl_date", "aa"); 				System.out.println("存入redis后获取:"+hget); 				 				jedis.hdel("fdl_date", "aa"); 				String hdel = jedis.hget("fdl_date", "aa"); 				System.out.println("删除redis后获取:"+hdel); 				 			} 		         }

三. json转换工具,把List集合转化为json,把json转化为相关对象的集合

  public class JsonUtils { 	 	    /** 	     * list对象集合转化为json字符串 	     * @param <T> 	     * @param ts 	     * @return 	     */ 	    public static <T> String listToJson(List<T> ts) { 	        String jsons = JSON.toJSONString(ts); 	        return jsons; 	    }  	    /** 	     * json转化为List对象集合 	     */ 	    public static <T> List<T> jsonToList(String jsonString, Class<T> clazz) { 	        @SuppressWarnings("unchecked") 	        List<T> ts = (List<T>) JSONArray.parseArray(jsonString, clazz); 	        return ts; 	    } 	 } 

四.在java中进行调用示例

          try { 				key = fdlBsg.getAirline()+fdlBsg.getOcty()+fdlBsg.getDcty(); 				jedis = RedisUtil.getJedis(); 				String discountListJson = jedis.hget("FDL_REPORT_DATA_RATE_DISCOUNT", fdlBsg.getAirline()+fdlBsg.getOcty()+fdlBsg.getDcty()); 				if(null != discountListJson && discountListJson.length() > 0){ 					 discountList = JsonUtils.jsonToList(discountListJson, DiscountMangent.class); 				} 			} catch (Exception e) { 				e.printStackTrace(); 			}finally{ 				RedisUtil.closeJedis(jedis); 			}

文章来源: https://blog.csdn.net/m0_38068812/article/details/86506188
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!