关闭

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

标签: jedis异常jedis事务Redis
1451人阅读 评论(0) 收藏 举报
分类:
使用jedis的transaction时,执行如下代码会报异常:
  1. Jedis conn = new Jedis("localhost");
  2. conn.select(0);
  3. Transaction trans = conn.multi();
  4. conn.hdel("count:" + counter, pair.getKey() + "");
  5. trans.exec();
异常如下:
  1. redis.clients.jedis.exceptions.JedisDataException: Cannot use Jedis when in Multi. Please use Transation or reset jedis state.
原因:
如果使用了jedis的事务,那么在事务中,需要用事务的实例(Transaction实例)来执行命令,最后调用exec执行事务模块中的命令。如果不小心使用了conn连接(Jedis实例)直接执行命令,则会抛出以上的异常。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:33610次
    • 积分:508
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:3篇
    • 译文:0篇
    • 评论:2条
    文章分类