2017-07-27 17:03
@杜福忠 我们的意思是项目运行时动态的从不同的cache中取数据。也就是能不能同时在项目中配置多个cache,我一下子用ehcahe,一下子用redis
2017-07-27 13:03
@JFinal 我想了一下有点想出来,这样确实如果当前线程多次调用set,hset等方法是同一个连接,也就是说使用RedisInterceptor的时候,其实是相当共用一个连接同时使用redis的事务功能了。之前我想错了一些地方。谢谢詹总
2017-07-27 12:07
@JFinal
詹总早上好。看到你们讲到redis有感而发,早上闲着没事看了一下文档和源码。有几个问题需要向您请教一下。
第一:RedisInterceptor 是如何提升性能表现的?(我看到文档里面定着有助于性能提高。)可是发现就算你获取到了当前线程的jedis,可是在使用之后也还是会在finally中马上关闭的呀
(code:cache.removeThreadLocalJedis();jedis.close(););
第二:就算没有用到RedisInterceptor,在使用Redis.use()的使用,所得到的Cache也是从当前线程中获取的哩。
(code:public Jedis getJedis() {
Jedis jedis = threadLocalJedis.get();
return jedis != null ? jedis : jedisPool.getResource();
});
如果这样的话,使用不使用RedisInterceptor又有什么影响呢?
因为jfinal本质上对jedis对象是使用ThreadLocal模式,和数据库连接Connection是一样的哩。