Servicestack redis 客户端:使用时间跨度过期设置密钥失败

Servicestack redis client: setting a key with timespan expiration fails using

以下示例在设置时间跨度过期的密钥时失败。 将到期时间设置为日期时间时,它会通过。我做错了什么?

            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 和 redis 2.6.14

注意 Redis 上的建议是你 shouldn't use Redis 2.6 所以我首先建议升级 redis-server。

documentation for SET 命令表明 2.6.12+ 支持及时过期值所需的必要 SET 选项,但可能 2.6.14 仍然不完全支持,因为这在我的本地 2.8.4 上没有问题redis 服务器。