Regular Client has Watch(), which is doing MULTI/EXEC (no WATCH/UNWATCH) when no keys are specified.
This behaviour is impossible to obtain using ClusterClient: you have to specify at least 1 key (so that master node can be selected), but you have no way to avoid passing it to Client.Watch. Thus, every transaction is wrapped in WATCH/UNWATCH pair.
Workaround (use a bogus random key with the hash slot you want) is not very elegant.
Regular
ClienthasWatch(), which is doingMULTI/EXEC(noWATCH/UNWATCH) when no keys are specified.This behaviour is impossible to obtain using
ClusterClient: you have to specify at least 1 key (so that master node can be selected), but you have no way to avoid passing it toClient.Watch. Thus, every transaction is wrapped inWATCH/UNWATCHpair.Workaround (use a bogus random key with the hash slot you want) is not very elegant.