以下の 3 つのコマンドは、そのまま実行すると完全に機能します。
using (var redis = NewRedisConnection)
{
await redis.Open();
var allKeys = await redis.Keys.Find(db, "searchPattern");
var allVals = await redis.Strings.GetString(db, allKeys);
await redis.Keys.Remove(db, allKeys);
//process the data I pull from redis
}
しかし、それらをトランザクションでラップしようとすると、機能しなくなります。例外はスローされませんが、デバッグするとvar allKeys = ...
、トランザクションのセットアップ中に実行が停止するように見えますか?
using (var redis = NewRedisConnection)
{
await redis.Open();
var tran = redis.Createtransaction();
var allKeys = await tran.Keys.Find(db, "searchPattern");
var allVals = await tran.Strings.GetString(db, allKeys);
await tran.Keys.Remove(db, allKeys);
await tran.Execute();
//process the data I pull from redis
}