2016-04-25 10 views
0

私はJedisを使用しています。複数の独立したトランザクション(マルチ/ execブロック)を含む単一のパイプラインを作成したいと思います。Jedisを使用して単一パイプラインで複数のRedisトランザクション(マルチ/ exec)

これまで見てきたことから、パイプライン全体をアトミックトランザクションに切り替えることしかできないようです。

Pipeline pipeline = jedis.pipelined(); 
pipeline.multi(); // Does not return a Jedis Transaction 
// From there, everything done on Pipeline is in a single transaction. 

私はTransactionを返すようにpipeline.multi()を期待しているだろう。

単一のトランザクションでパイプライン全体を使用すると、単一のパイプラインで複数のより小さいトランザクションブロックを使用するよりもコストがかかります。

これはRedisでサポートされていますか? 「はい」の場合、Jedisを使用してこれを行うことができますか?

ありがとうございます!

答えて

0

さらに多くのテストと掘り下げを行った後、pipeline.multi()pipeline.exec()を複数回呼び出して、複数のトランザクションブロックを作成できるようです。