草庐IT

servicestack

全部标签

c# - ServiceStack.Redis 存储对象超时,key 检索

我正在尝试使用ServiceStack.Redis客户端从memcached迁移到redis。我希望能够简单地检查Redis缓存是否有按键项,如果没有则添加它们并设置过期超时。然后稍后检索它们(如果它们存在)。为了对此进行测试,我创建了一个简单的ASP.NETWebApi项目并使用这两种方法修改了ValuesController。publicclassValuesController:ApiController{publicIEnumerableGet(){using(varredisClient=newRedisClient("localhost")){IRedisTypedClie

c# - ServiceStack.Redis 存储对象超时,key 检索

我正在尝试使用ServiceStack.Redis客户端从memcached迁移到redis。我希望能够简单地检查Redis缓存是否有按键项,如果没有则添加它们并设置过期超时。然后稍后检索它们(如果它们存在)。为了对此进行测试,我创建了一个简单的ASP.NETWebApi项目并使用这两种方法修改了ValuesController。publicclassValuesController:ApiController{publicIEnumerableGet(){using(varredisClient=newRedisClient("localhost")){IRedisTypedClie

c# - 将 ServiceStack ICacheClient 与 Redis 和 Ninject 结合使用

我正在使用servicestack库中的ICacheClient和Redis作为后端。我也在使用Ninject进行DI。我正在尝试确定在哪个范围内绑定(bind)PooledRedisClient管理器。我尝试了以下方法:Bind().ToMethod(ctx=>newPooledRedisClientManager(redisURI)).InSingletonScope();这似乎工作正常,但我经常看到RedisResponseExceptions。我认为这是因为我的连接用完了。也许SingletonScope不正确?谁能指出我正确的方向?我正在使用servicestack版本:3.

c# - 将 ServiceStack ICacheClient 与 Redis 和 Ninject 结合使用

我正在使用servicestack库中的ICacheClient和Redis作为后端。我也在使用Ninject进行DI。我正在尝试确定在哪个范围内绑定(bind)PooledRedisClient管理器。我尝试了以下方法:Bind().ToMethod(ctx=>newPooledRedisClientManager(redisURI)).InSingletonScope();这似乎工作正常,但我经常看到RedisResponseExceptions。我认为这是因为我的连接用完了。也许SingletonScope不正确?谁能指出我正确的方向?我正在使用servicestack版本:3.

transactions - Servicestack.redis 事务和哈希

如何在交易中从散列中获取所有条目?我没有看到类型正确的onSuccessCallback。我尝试将其映射为byte[][],以为我可以手动反序列化它,但Redis提示说(针对持有错误类型值的键的操作)有什么办法吗?varhashValuesusing(vartrans=client.CreateTransaction()){trans.QueueCommand(c=>hashValues=c.GetAllEntriesFromHash("somekey"));trans.Remove("somekey");trans.Commit();}returnhashValues;所以我想做的是

transactions - Servicestack.redis 事务和哈希

如何在交易中从散列中获取所有条目?我没有看到类型正确的onSuccessCallback。我尝试将其映射为byte[][],以为我可以手动反序列化它,但Redis提示说(针对持有错误类型值的键的操作)有什么办法吗?varhashValuesusing(vartrans=client.CreateTransaction()){trans.QueueCommand(c=>hashValues=c.GetAllEntriesFromHash("somekey"));trans.Remove("somekey");trans.Commit();}returnhashValues;所以我想做的是

使用 ServiceStack + Redis : How to not return System. 对象缓存并返回 DTO?

在我看到的所有示例中likethis,ServiceStack方法中的缓存必须具有System.Object的返回类型。是否有更新/更新的文档允许返回正常的DTO?例如,如果此Get方法不返回“对象”(从ServiceStack文档中提取)会更好。publicclassOrdersService:Service{publicobjectGet(CachedOrdersrequest){varcacheKey="unique_key_for_this_request";returnbase.RequestContext.ToOptimizedResultUsingCache(base.C

使用 ServiceStack + Redis : How to not return System. 对象缓存并返回 DTO?

在我看到的所有示例中likethis,ServiceStack方法中的缓存必须具有System.Object的返回类型。是否有更新/更新的文档允许返回正常的DTO?例如,如果此Get方法不返回“对象”(从ServiceStack文档中提取)会更好。publicclassOrdersService:Service{publicobjectGet(CachedOrdersrequest){varcacheKey="unique_key_for_this_request";returnbase.RequestContext.ToOptimizedResultUsingCache(base.C

c# - ServiceStack RedisMessageQueueClient 异常行为

我的基础设施:Main-ServiceStack自托管控制台应用程序。“Main”向MQ发送消息。背景-ServiceStack自托管控制台应用程序。“后台”接收来自MQ的消息。本地安装Redis在“主”AppHost中,我配置Redis管理器:container.Register(newPooledRedisClientManager("localhost:6379"));然后我在服务的某处运行这段代码:using(varclient=newRedisMessageQueueClient(TryResolve())){client.Publish(newTestMessage{Val

c# - ServiceStack RedisMessageQueueClient 异常行为

我的基础设施:Main-ServiceStack自托管控制台应用程序。“Main”向MQ发送消息。背景-ServiceStack自托管控制台应用程序。“后台”接收来自MQ的消息。本地安装Redis在“主”AppHost中,我配置Redis管理器:container.Register(newPooledRedisClientManager("localhost:6379"));然后我在服务的某处运行这段代码:using(varclient=newRedisMessageQueueClient(TryResolve())){client.Publish(newTestMessage{Val