StackExchange Redis Client StringSet返回false?

时间:2014-11-15 23:10:06

标签: azure redis

我们已经使用StackExchange Redis .Net客户端几个月没有问题。我们的日志表明StringSet最近在一小时内返回了数千次错误,但是它再次按预期工作。

我无法找到FALSE在任何地方的含义。我认为这意味着该值未放入缓存中,但如果这是正确的,我该如何说明原因?客户端没有抛出异常。有人可以告诉我描述返回值的API规范以及如何排除故障吗?

如果重要的话,我们将在Azure中对抗Redis。

result = cache.StringSet(fullKey, value, GetCacheTime(cacheType));
if (!result)
{
    if (_logger != null)
    {
        _logger.LogError( "Failed to Set Cache");
    }
}

1 个答案:

答案 0 :(得分:0)

http://redis.io/commands/set

  

简单字符串回复:如果SET正确执行,则确定。空回复:a   如果未执行SET操作,则返回Null Bulk Reply   因为用户指定了NX或XX选项,但条件是   不满足。

虽然看起来你正在使用SETEX(http://redis.io/commands/setex),你是否设置了有效的时间跨度作为第三个参数?

  

SETEX是原子的,可以使用前两个来复制   MULTI / EXEC块内的命令。它以更快的速度提供   替代给定的操作序列,因为这   当Redis用作缓存时,操作非常常见。错误是   秒无效时返回。