关于java:如何在使用Jedis后优雅关闭

遇到问题

新公司我的项目中应用了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);
});

最初

集体简略了解,不对之处还望斧正!

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理