ServiceStack Redis客户端对非existant键的行为

时间:2012-06-22 13:06:51

标签: redis servicestack

在Redis文档中,当您调用Get操作并且键不存在时,它应该返回Nil。 (来源:http://redis.io/commands/get

ServiceStack客户端如何处理此问题?它是否为null,或者我是否需要使用Exists,ContainsKey?

是否有其他方法可以检查密钥是否存在并使用一个请求返回值?

1 个答案:

答案 0 :(得分:5)

如果您尝试获取不存在的密钥,则会返回null。

使用IRedisClient获取密钥有很多种不同的方法,但这是一个例子:

GetValue()

如果您有兴趣,IRedisNativeClient会以1-1命令的方式直接对抗金属。

您可以使用pineline或事务在一个请求中执行多项操作。例如:

using(var pipeline = client.CreatePipeline())
{
    pipeline.QueueCommand(r => r.GetSetCount("key1"), count => count1 = count);                
    pipeline.QueueCommand(r => r.GetSetCount("key2"), count => count2 = count);
    pipeline.QueueCommand(r => r.GetSetCount("key3"), count => count3 = count);
    pipeline.Flush();
}