Redis
 sql >> Base de données >  >> NoSQL >> Redis

StackExchange TimeoutException lors de la tentative d'insertion de 750 éléments dans 2 ensembles dans redis

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);                
            }
        }
    }
}