2016-12-14 11:05
@jacok 多说一句,直接用 Redis.use().select(n) 切换这个方法切换数据库是无法使用的,因为 select(int) 这个方法中切换完成以后,会调用 jedis.close(),关联连接以后又会回到原来的数据库,相当于切换不成功, jedis 这样设计是为了线程安全,所以当某线程获取到连接的时间点是可以切换,但 close() 了以后,其它线程会再次获取到这个连接,如果不恢复到最初的 db,就会造成混乱
综上,select 这个方法本质上只有在 ICallback 接口中才可以正常使用,因为这个接口中的方法是处于一个连接中,并且处在连接关闭之前
还有一种 select 的使用方式是通过创建多个 RedisPlugin,让每一个不同的 RedisPlugin 通过不同的 db 参数连到不同的 db,这样在用的时候,不同的 Cache 天然就连到了不同的库,不用使用 select 这个方法即可实现多数据库的访问
2016-12-14 10:38
@luorongda 应该是跳坑里去了,再跳出来即可:https://my.oschina.net/jfinal/blog/353062
2016-12-14 10:36
@nbjgl 事务的用法在 jfinal 手册上有详细的例子,有两种用法,下面提供我个人常用的一种:
Db.tx(new IAtom() {
public void run() {
Db.update(sql, ...);
Db.update(sql,...);
new Xxx().set(...).set(...).save();
}
}
2016-12-13 20:05
@奋斗-now struts 的 namespace 就需要额外的 xml 配置,提交个表单还需要个 ActionForm,现在的存量用户还挺多,苦了他们了