jjzjj

ServiceStack

全部标签

redis - ServiceStack - Redis session 累积

在AppHost.cs中container.Register(c=>newPooledRedisClientManager(redisConnectionString));我没有看到这些session在30秒内得到清理。publicclassMyUserSession:AuthUserSession{publicoverridevoidOnAuthenticated(IServiceBaseauthService,IAuthSessionsession,IAuthTokenstokens,DictionaryauthInfo){...dostuffhereauthService.Sav

c# - 如何使用 servicestack 类型的客户端?

基本上我们有一个Redis实例,我们想保存和获取Redis列表中的所有项目。我们可以保存它但是当我们试图获取列表时varredis=redisclient.As();stringkey="myredislistkey";Listmylist=redis.GetAllItemsFromList(key);我知道这是错误的,但为什么呢?以及如何使用Rediskey(或所谓的listid)正确使用Typed客户端来获取所有项目?官方用法是ListGetAllItemsFromList(IRedisListfromList);但如果我已经有了fromList,为什么还要尝试获取它呢?

redis - 如何使用 servicestack 类型的客户端更新 redis 列表中的项目?

我的代码片段varredislist=client.As().Lists["key_of_list"];varm=redislist.SingleOrDefault(p=>p.member_id==request.member_id);m.email=request.email;如您所见,我已经获得了项目m,并且我还可以更新该项目。问题是如果我想更新它并把它存回redis列表,下一步怎么办?我是否应该删除它并添加一个新项目,例如redislist.Remove(old_item);varnew_item=newMyModel();new_item.email=request.email

c# - ServiceStack.Redis 无法连接sPort

几天来我一直在努力弄清楚为什么我会收到诸如http://i.imgur.com/cfCBWRS.png之类的异常。publicvirtualboolCreateOrUpdateValueById(TQueryquery,TResultvalue){using(varredisClient=Connection.RedisManager.GetClient()){varredis=redisClient.As();varkey=query.GetKeyWithId();redis.SetEntry(key,value);returntrue;}}它在数百个项目的循环中运行。foreach

c# - 如何在 Servicestack.Redis 中使用 "New Managed Pub/Sub Server"取消订阅 channel

在NewManagedPub/SubServer他们的文档展示了如何在pubsubserver的初始化中订阅channel。但是,您如何在程序稍后需要时取消订阅特定channel?我的代码:usingServiceStack.Redis;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Threading;namespaceva.communication{classProgram{staticvoidMain(string[]args){varclientsManager=newPoole

c# - : could not connect to redis Instance at XX. XXX.XX.XXX:6379

您好,我正在尝试连接到在AWSEC2Linux服务器上监听端口6379的Redis服务器。container.Register(c=>newPooledRedisClientManager(new[]{"XX.XXX.XX.XXX:6379"}));我执行了以下步骤,创建了一个入站规则作为自定义TCP允许6379端口,并更改redis.conf绑定(bind)到XX.XXX.XX.XXX:6379或0.0.0.0但仍然无法连接到服务器,任何人都可以帮忙.这是我在AWS上的入站规则CustomTCPRuleTCP63790.0.0.0/0 最佳答案

c# - 在 Redis 中批量创建键 - ServiceStack C#

有什么方法可以在“RedisServiceStack客户端”中批量创建key(SETS)?当然,没有放置for循环。Redis中有一个命令可以执行此操作:MSET但是,我在ServiceStack.Redis客户端中找不到此命令的任何实现。例如:MSETkey1"val1"key2"val2"更新:@mythz提出了一种创建多个SETS但只有一个成员的方法SETALL().此外,我找到了一种通过AddRangeToSet(stringsetId,Listitems)将成员批量添加到单个集合的方法。但是,有什么方法可以在批量创建SETS时添加多个MEMBERS。有点像XXXCOMMAND

redis - 如何设置(覆盖)哈希中的所有项目

我想在哈希中设置所有条目。(SetAllEntriesToHash)它必须在运行前清除哈希中的所有项目。与GetAllEntriesFromHash相反 最佳答案 这里有几个选项。1)您可以让ServiceStack使用高级RedisAPI为您处理这件事。publicclassPoco{publicintId{get;set;}publicstringName{get;set;}publicstringDescription{get;set;}}...//Clientvarclient=newRedisClient("localho

redis - 在 ServiceStack.Redis 的情况下,RedisPoolSize、RedisPoolTimeoutSeconds 的默认值是什么

对于ServiceStack.Redis,redisPoolSize、RedisPoolTimeoutSeconds和默认端口的默认值是什么。 最佳答案 我假设您对连接池感兴趣,而不是缓冲池;其中有两个池,一个读池和一个写池。它们是根据每种类型的主机数乘以PoolSizeMultiplier(默认为10)而创建的。默认的Redis写入池大小是读/写Redis主机的数量*默认的PoolSizeMultiplier=10。Seeline#131默认的Redis读取池大小是只读Redis主机的数量*默认的PoolSizeMultiplie

redis - Servicestack.Redis Pub/Sub 与其他嵌套 Redis 命令的限制

我对ServiceStack和Redis有很好的体验,但我对线程内的ThreadPool和Pub/Sub以及在消息回调中访问Redis的明显限制感到困惑。我得到的实际错误表明我只能在“当前上下文”中调用“订阅”或“发布”。当我尝试从消息回调执行另一个Redis操作时会发生这种情况。我有一个必须持续运行的流程。在我的例子中,我不能只为一个请求服务一次,而是必须让一个线程一直保持事件状态来进行计算(并且从RESTAPI路由控制这些线程是理想的)。数据必须定期进入流程,并且必须发布数据。该进程还必须存储和检索来自Redis的数据。我正在使用路由和服务来获取数据并将其存储在Redis中,因此这