I've got several question about using transactions from StackExchange.Redis:
- Is it allowed to execute commands in transaction which could potentially target different nodes in cluster environment? Say, first command's key has
{1}hashtag and second command's key has{2}hashtag. - When does transaction's
Execute()/ExecuteAsync()returnsfalse? Only when set conditions were not met? Could it returnfalseif there were no conditions set? - If some network or internal Redis error occur, will
Execute()/ExecuteAsync()throw or just returnfalse? Should I also check commands' tasks (assuming that commands are fully correct and normally are not expected to throw) or they will just be cancelled?
Unfortunately the doc doesn't explain #2 and #3 in details.