Class MULTI
- All Implemented Interfaces:
Resp3Command
,TransactionResp3Command
This command marks the start of a transaction block. Subsequent operations are queued for later execution and receive
a RespConstants.QUEUED_REPLY
response. Each operation is verified for errors,
for example, the number of arguments. Flawed operations receive the corresponding error reply and are discarded.
Although, these errors do not abort the transaction.
Sending "nested" MULTI commands is not accepted, i.e., sending a MULTI command when already in a MULTI context. Again, this does not abort the transaction but returns an error.
Redis also does not include a rollback command. Instead, the user can send a DISCARD command to abort the transaction,
clearing the queued commands and exiting the transaction context. Other commands with similar behavior are
QUIT
, SUBSCRIBE
,
and PSUBSCRIBE
. The subscription commands drop the queued commands
and enter pub-sub mode.
- Since:
- 15.0
- Author:
- José Bolina
- See Also:
-
Field Summary
Fields inherited from class org.infinispan.server.resp.RespCommand
log
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlong
aclMask()
perform
(Resp3Handler handler, io.netty.channel.ChannelHandlerContext ctx, List<byte[]> arguments) perform
(RespTransactionHandler handler, io.netty.channel.ChannelHandlerContext ctx, List<byte[]> arguments) Methods inherited from class org.infinispan.server.resp.RespCommand
extractKeys, fromByteBuf, getArity, getFirstKeyPos, getLastKeyPos, getName, getSteps, handleException, hasValidNumberOfArguments, match, size, toString
-
Constructor Details
-
MULTI
public MULTI()
-
-
Method Details
-
aclMask
public long aclMask()- Specified by:
aclMask
in classRespCommand
-
perform
public CompletionStage<RespRequestHandler> perform(Resp3Handler handler, io.netty.channel.ChannelHandlerContext ctx, List<byte[]> arguments) - Specified by:
perform
in interfaceResp3Command
-
perform
public CompletionStage<RespRequestHandler> perform(RespTransactionHandler handler, io.netty.channel.ChannelHandlerContext ctx, List<byte[]> arguments) - Specified by:
perform
in interfaceTransactionResp3Command
-