If I use CommandFlags.FireAndForget
inside a transaction with StackExchange.Redis, does this flag actually do anything? Or does the transaction completion wait until the Fire and Forget command has completed anyhow?
Supplemental – is the fire and forget option purely within StackExchange.Redis, or is it something that’s passed to the Redis server, so the Redis server returns a response before completion?
E.g.:
var transaction = Database.CreateTransaction();
transaction.StringSetAsync(key, value);
transaction.KeyExpireAsync(key, timeToLive, CommandFlags.FireAndForget);
await transaction.ExecuteAsync();
// will transaction.ExecuteAsync return before the Key Expire command has completed
// or wait for it to finish?