我们已经使用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");
}
}
答案 0 :(得分:0)
简单字符串回复:如果SET正确执行,则确定。空回复:a 如果未执行SET操作,则返回Null Bulk Reply 因为用户指定了NX或XX选项,但条件是 不满足。
虽然看起来你正在使用SETEX(http://redis.io/commands/setex),你是否设置了有效的时间跨度作为第三个参数?
SETEX是原子的,可以使用前两个来复制 MULTI / EXEC块内的命令。它以更快的速度提供 替代给定的操作序列,因为这 当Redis用作缓存时,操作非常常见。错误是 秒无效时返回。