您的位置:首页 > 数据库 > Redis

Cannot use Jedis when in Multi. Please use Transation or reset jedis state.

2016-08-30 23:27 1656 查看
使用jedis的transaction时,执行如下代码会报异常:

Jedis conn = new Jedis("localhost");
conn.select(0);
Transaction trans = conn.multi();

conn.hdel("count:" + counter, pair.getKey() + "");

trans.exec();


异常如下:

redis.clients.jedis.exceptions.JedisDataException: Cannot use Jedis when in Multi. Please use Transation or reset jedis state.


原因:

如果使用了jedis的事务,那么在事务中,需要用事务的实例(Transaction实例)来执行命令,最后调用exec执行事务模块中的命令。如果不小心使用了conn连接(Jedis实例)直接执行命令,则会抛出以上的异常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐