ServiceStack.Net: IRedisNativeClient.Eval 和 EvalCommand 的区别
ServiceStack.Net: Difference between IRedisNativeClient.Eval and EvalCommand
我是 ServiceStack.Net 框架的新手,我想了解以下方法之间的区别:
public byte[][] Eval(string luaBody, int numberKeysInArgs, params byte[][] keys)
public RedisData EvalCommand(string luaBody, int numberKeysInArgs, params byte[][] keys)
根据源代码,主要区别在于第一个调用使用 SendExpectMultiData Request,第二个命令发送 RawCommand。
那么什么时候应该使用第一种方法而不是第二种方法呢?这些方法的推荐用法是什么?
IRedisNativeClient API 是低级别的,通常 1:1 与它调用的原始 Redis 服务器 API 相匹配。 IRedisClient 上的 API 更高级且更易于使用,例如有 RedisDataExtensions 可以很容易地转换为文本并使用 .GetResult<T>()
方法反序列化为复杂类型。
我是 ServiceStack.Net 框架的新手,我想了解以下方法之间的区别:
public byte[][] Eval(string luaBody, int numberKeysInArgs, params byte[][] keys)
public RedisData EvalCommand(string luaBody, int numberKeysInArgs, params byte[][] keys)
根据源代码,主要区别在于第一个调用使用 SendExpectMultiData Request,第二个命令发送 RawCommand。
那么什么时候应该使用第一种方法而不是第二种方法呢?这些方法的推荐用法是什么?
IRedisNativeClient API 是低级别的,通常 1:1 与它调用的原始 Redis 服务器 API 相匹配。 IRedisClient 上的 API 更高级且更易于使用,例如有 RedisDataExtensions 可以很容易地转换为文本并使用 .GetResult<T>()
方法反序列化为复杂类型。