ServiceStack.Net:IRedisNativeClient.Eval 和 EvalCommand 之间的区别



我是 ServiceStack.Net 框架的新手,我想了解以下方法之间的区别:

public byte[][] Eval(string luaBody, int numberKeysInArgs, params byte[][] keys)
public RedisData EvalCommand(string luaBody, int numberKeysInArgs, params byte[][] keys)

根据源代码,主要区别在于第一个调用使用SendExpectMultiData请求,第二个命令发送RawCommand。

那么我什么时候应该使用第一种方法而不是第二种方法呢?这些方法的推荐用法是什么?

IRedisNativeClient API 是低级的,通常与它调用的原始 Redis Server API 1:1 匹配。IRedisClient上的API是更高级别的,更易于使用,例如有RedisDataExtensions,这使得它可以很容易地转换为文本并使用.GetResult<T>()方法反序列化为复杂类型。

最新更新