遇到问题
新公司我的项目中应用了Jedis,代码中铺天盖地的try...finaly{jedis.close()},不仅不美观,还很容易遗记封装try块,导致jedis资源耗费殆尽!
解决问题
利用Java8的函数式接口(FunctionalInterface)将getJedis进一步封装:
封装
public static <T> T useJedis(Function<Jedis, T> function) { try (Jedis jedis = redisDS.getJedis()) { return function.apply(jedis); }}
调用
String result = JedisUtils.useJedis(jedis -> { return jedis.get(key);});
最初
集体简略了解,不对之处还望斧正!