问题标签 [servicestack.redis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
servicestack - ServiceStack RedisMqServer 并不总是处理从单独的应用程序发布的消息
语境
我有一个 RedisMqServer 配置为处理我的 ServiceStack Web 服务上的单个消息。该 MQ 上的消息来自另一个应用程序,并以所有正确的属性显示在 .inq 中。一切都在 4.0.38 上。
我在 MyAppHost.cs 中的配置:
然后在 Global.asax.cs 中:
问题
当我将其部署到其他地方时,这些消息并没有得到一致的处理。他们在 .inq 中等待,直到任何时候。什么都没有丢失,只是延迟了一段不确定的时间。
此刻,唯一能想到的事情是:
- 我在本地使用 IIS Express,而服务器使用的是 IIS。
- Application_Start 需要在它可以处理消息之前发生。
我尝试通过在消息排队前后通过 HTTP 进行其他 API 调用来初始化服务,但失败多于成功。有时服务开始处理它们,但我无法识别并因此影响何时发生这种情况。
笔记
我确实有几个其他控制台应用程序和 Windows 服务,它们侦听其他 MQ 并处理其他应用程序放置的消息,并且这些服务始终完美无缺。不过,这是我第一次在现有的 Web 服务中尝试这样做。
caching - 保存到 Redis 缓存时性能不佳(使用 ServiceStack.Redis)
在将数据保存到 Redis 缓存时,我的性能非常差。
设想 :
1)利用Redis缓存服务(微软Azure提供)。
2) 在 Azure 上创建的虚拟机中运行代码。
3)VM和缓存服务都创建在同一个位置
代码片段:
性能(保存时):
注意:(所有时间以毫秒为单位)
循环次数:0,总次数。列表中的项目数:2 是:1 当前时间:310 总时间:342 缓存保存循环计数:1,总数。列表中的项目数:3 是:1 当前时间:6 总时间:349 缓存保存循环计数:2,总数。列表中的项目数:5 是:1 当前时间:3 总时间:353 缓存保存循环计数:3,总数。列表中的项目数:5 是:2 当前时间:3 总时间:356 缓存保存循环计数:4,总数。列表中的项目数:5 是:3 当前时间:3 总时间:360 缓存已保存
. . . . .
循环次数:330,总次数。列表中的项目数:4 是:69 当前时间:2 总时间:7057 缓存保存
循环计数:331,总数。列表中的项目数:4 是:70 当前时间:3 总时间:7061 缓存保存
循环计数:332,总数。列表中的项目数:4 是:71 当前时间:2 总时间:7064 缓存已保存
性能(获取时)
清单 : 1 项目数量 : 110 时间 : 57
清单 : 2 项目数量 : 90 时间 : 45
清单 : 3 件数 : 51 时间 : 23
清单 : 4 件数 : 75 时间 : 32
清单 : 5 件数 : 63 时间 : 33
multithreading - ServiceStack.Redis 多线程冲突
我有一个 ServiceStack.Redis 多线程冲突。我有一种 ServiceStack 的非标准用例,我在一个“FallbackRoute”中捕获所有路由。这意味着该一条路线有一项服务。这是 DTO:
该服务是:
然后在配置块中的 AppHost.cs 中,我自动装配了 redis:
我从有关如何正确使用带多线程的 BasicRedisClientManager 的帖子中得到了这个。但我得到如下例外:
只有当我有多个客户时才会发生。我可以用一个客户反复点击它,而且速度非常快。如果我同时添加一个客户端,它会死于这些 Redis 异常之一。
c# - servicestack.redis c#内存不足
在 C# 的 ServiceStack.Redis 中使用 PooledClientManager 时,出现以下错误
指定地址空间范围内内存不足,无法继续执行程序
内存超过 8gb,所以我觉得系统中有足够的可用内存空间。
可能是什么原因以及如何解决此问题。提前致谢。
.net - Redis 服务无法在 Windows 7 上启动
我正在使用 .NET 4.5、VS2013 和更新 4 在我的 win 7 开发盒上探索内存缓存,并已将 Redis 列入候选名单。我从这里下载了 2.8.19 版,并按照说明安装了它没有任何问题的服务。但是,当我尝试启动服务时,我收到一条通用消息:
[3464] 4 月 28 日 00:35:11.890 # Redis 服务无法启动。
我已启用对文本文件以及事件查看器的日志记录。文本文件和事件查看器中没有任何报告,我只看到 redis 服务启动,然后 Redis 服务停止。没有其他信息说明为什么会失败。我错过了任何一步吗?
servicestack.redis - ServiceStack.Redis 缓存在应用程序重新启动时清除
我正在使用 redis 进行缓存,但也在我的一项服务中使用 ICacheClient 使用 Get 和 Set 等直接从缓存中写入和读取。
Redis 设置为将值保存到磁盘。所以如果我关闭 Redis 并重新启动它,缓存的数据就在那里。但是,如果我在调试模式下运行我的 servicestack 服务并停止网站并再次重新启动它,servicestack 会在第一次调用 servicestack 服务时清除 redis 缓存。我怎样才能关闭它,或者它是一个错误。缓存中的项目不应过期,并且在检查缓存中的各个项目时,将其设置为不过期,因此并不是它即将过期,而是该服务堆栈似乎在重新启动后第一次调用时刷新数据库。
当我调用第一个 Get 时,例如 url:http://localhost:4099/api/KeyValues/mykey
整个 redis db(0) 被清除。
servicestack - ServiceStack 无法与 Redis 设置会话
我正在使用 AuthFeature 对我的用户进行身份验证。我在写给 Redis 时遇到了问题。有谁之前经历过这个吗?
使用Choco 安装的ServiceStack 4.0.40和Redis-64 v2.8.19
回复:
servicestack - 在 Servicestack Redis outq 中保留原始请求的副本
我意识到 outq 用于查看已处理消息的最后 100 个左右的响应。但是,存储在 outq 中的对象似乎只有响应正文,而不是原始请求,因此调试问题可能非常困难。
是否有一种简单的方法可以自动包含原始 inq 消息的副本?
servicestack - 如何在 ServiceStack Redis MQ 中添加处理失败消息的延迟
有没有一种简单的方法可以让 Servicestack 在重试失败的 MQ 项目之前等待 x 秒(使用 Redis MQ)。目前它只是连续尝试 3 次,没有延迟。
servicestack.redis - servicestack.redis 包装器性能不佳
我们正在尝试使用 ServiceStack 包装器在 Redis 中存储一些大缓冲区(每个 8MB)。我们使用“RedisNativeClient.Set(string key, byte[] value)” API 来设置缓冲区。客户端和服务器都驻留在同一台机器上。坚持残疾人。我们目前正在使用 ServiceStack 的评估版。
问题是我们的性能很差——大约 60 MB/秒。使用一些不同的 c# 包装器(“Sider”),我们可以获得更好的性能(~400 MB/秒)。
我用于测量的代码:
可能是什么问题?
谢谢,伊坦。