问题大概可以归结为一句话:
如何在redis的事务中获取值?
大概的程序逻辑如下所示
redis.pop val (a_val存储在redis的一个队列中) //系统宕机? val -> mysql.save
尝试了 jedis.multi,本想进行如下操作来解决
jedis.multi.pop -> get val //系统宕机? val -> mysql.save mysql -> commit && jedis.multi.exec();
但问题是multi不执行exec()就无法获取到 a_val的值,也就无法进行后续业务操作。
redis.clients.jedis.exceptions.JedisDataException: Please close pipeline or multi block before calling this method.
请问有什么好的解决办法?
项目:JFinal