jfinal redis 缓存API缺失?

jfinal提供的操作redis的API为什么没有setnx的功能,为什么不提供这样的API呢,是基于什么原因啊?

评论区

JFinal

2019-08-21 20:28

可能是 setnx 是 redis 后来加的,所以没有添加上

没有加的 API,可以通过 Redis.use().getJedis().setnx(...) 这种方式来支持,建议写一个工具类来支持,例如工具类取名叫:
RedisKit.java

将一些没有加的方法添加进去,注意,加的时候别忘了要在 finally 块中关闭 jedis.close(), 以释放资源,具体的 close 代码可以参考 jfinal 的 redis 相关代码

还有一个办法是直接修改 jfinal 源码加进去,再将 jfinal 打包成自己的版本使用。

最好的办法是将 jfinal 的 redis 插件代码单拿出来,自己改掉它,当成一个小工具包使用,这个办法可以不用改 jfinal 源码,有利于将来升级 jfinal

jfinal初识

2019-08-23 10:12

@JFinal 波总,jfinal使用redis是每次都创建一个新的连接吗,用完close?有没有连接池的概念呢,就是类似于mysql连接池,这个连接用完并没有关掉,而是放回了连接池,下次再用?

JFinal

2019-08-23 11:44

@jfinal初识 就是连接池, close() 这个动作是回收到连接池,而不是真的关掉