2015-08-17 9 views
0

Следующий пример сбой при установке ключа с истечением времени ожидания. При установке истечения срока годности он проходит. Что я делаю не так?Servicestack redis client: установка ключа с истечением срока действия с ошибкой с использованием

  using (var redisClient = new RedisClient(cacheHost[0])) 
      { 
       redisClient.Set<string>("mykey", "myVal", TimeSpan.FromMinutes(90)); // fails,exception {"No more data, sPort: 59862, LastCommand: "} 
       redisClient.Set<string>("mykey", "session",DateTime.UtcNow.AddMinutes(90)); // OK 
       Console.WriteLine(redisClient.Get<string>("mykey")); 
      } 

Я использую ServiceStack 4.0.42 и 2.6.14 Redis

ответ

0

Примечание рекомендация о том, что Redis вы shouldn't use Redis 2.6, так что я бы первый рекомендуем обновить Redis-сервер.

Команда documentation for SET предполагает, что 2.6.12+ поддерживает необходимые параметры SET, необходимые для истечения срока действия, но, возможно, 2.6.14 все еще имеет неполную поддержку, так как это работает без проблем на моем локальном сервере redis-сервера 2.8.4.

+0

спасибо, я попробую обновить. Должна ли версия ServiceStack Dll соответствовать версии redis? например, если у меня есть старая бесплатная версия ServiceStack 3.0, будет ли она работать с последней версией redis? – Ofir

+0

@ user2492936 Да, он будет работать с последней версией Redis, так как Redis поддерживает сильную обратную совместимость – mythz

+0

Это сработало, спасибо! – Ofir