Ce qui suit passe très bien et rapporte 10 ms localement. Je serais très intéressé si vous pouviez remplir un peu les blancs afin que je puisse faire un test représentatif qui reproduit le problème. Notez que qu=0, qs=3
me dit qu'au moment où il expire, nous attendons que le serveur redis réponde. Évidemment, la bande passante locale et la latence seraient intéressantes, mais fondamentalement, cela devrait fonctionner . Je serais également intéressé par le réglage de votre délai de synchronisation.
using System.Diagnostics;
using System.Linq;
using NUnit.Framework;
namespace StackExchange.Redis.Tests.Issues
{
[TestFixture]
public class SO22786599 : TestBase
{
[Test]
public void Execute()
{
string CurrentIdsSetDbKey = Me() + ".x";
string CurrentDetailsSetDbKey = Me() + ".y";
RedisValue[] stringIds = Enumerable.Range(1, 750).Select(i => (RedisValue)(i + " id")).ToArray();
RedisValue[] stringDetails = Enumerable.Range(1, 750).Select(i => (RedisValue)(i + " detail")).ToArray();
using (var conn = Create())
{
var db = conn.GetDatabase();
var tran = db.CreateTransaction();
tran.SetAddAsync(CurrentIdsSetDbKey, stringIds);
tran.SetAddAsync(CurrentDetailsSetDbKey, stringDetails);
var watch = Stopwatch.StartNew();
var isOperationSuccessful = tran.Execute();
watch.Stop();
System.Console.WriteLine("{0}ms", watch.ElapsedMilliseconds);
Assert.IsTrue(isOperationSuccessful);
}
}
}
}