我正在尝试实现事务性StoreRelatedEntities。因此,我需要从ITypedRedisClient或以下地址访问RedisClient:
using (var trans1 = redis.As<X>().CreateTransaction())
using (var trans2= redis.As<Y>().CreateTransaction())
{
.....
trans1.Join(trans2); // :) Fantasy
trans2.Commit();
} 这是正确的方式吗?或者我不得不
using (var trans1=redis.As<X>().CreateTransaction())
{
trans.QueueCommand(p => ((RedisClient)((RedisTypedClient<T>)p).NativeClient).AddRangeToList(.....);
}还是我必须这么做?
using (var trans=redis.CreateTransaction())
{
trans.QueueCommand(p=>p.As<X>()....); // Casting to Typed RedisClient in Command
trans.QueueCommand(p=>p.As<Y>()....);
}发布于 2012-06-04 13:13:49
这看起来是最简单的,所以我会选择:
using (var trans=redis.CreateTransaction())
{
trans.QueueCommand(p=>p.As<X>()....); // Casting to Typed RedisClient in Command
trans.QueueCommand(p=>p.As<Y>()....);
}但是没有对/错,只要做你觉得舒服的事情就行了。每个客户端都继承或包含一个RedisNativeClient实例,该实例封装了与Redis服务器的tcp连接。不同类之间的关系如下:
- Contains instance of **RedisClient** accessible via [RedisClient](https://github.com/ServiceStack/ServiceStack.Redis/blob/master/src/ServiceStack.Redis/Generic/RedisTypedClient.cs#L36) property
https://stackoverflow.com/questions/10876043
复制相似问题