问题标签 [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.

0 投票
1 回答
223 浏览

servicestack - ServiceStack RedisMqServer 并不总是处理从单独的应用程序发布的消息

语境

我有一个 RedisMqServer 配置为处理我的 ServiceStack Web 服务上的单个消息。该 MQ 上的消息来自另一个应用程序,并以所有正确的属性显示在 .inq 中。一切都在 4.0.38 上。

我在 MyAppHost.cs 中的配置:

然后在 Global.asax.cs 中:

问题

当我将其部署到其他地方时,这些消息并没有得到一致的处理。他们在 .inq 中等待,直到任何时候。什么都没有丢失,只是延迟了一段不确定的时间。

此刻,唯一能想到的事情是:

  1. 我在本地使用 IIS Express,而服务器使用的是 IIS。
  2. Application_Start 需要在它可以处理消息之前发生。

我尝试通过在消息排队前后通过 HTTP 进行其他 API 调用来初始化服务,但失败多于成功。有时服务开始处理它们,但我无法识别并因此影响何时发生这种情况。

笔记

我确实有几个其他控制台应用程序和 Windows 服务,它们侦听其他 MQ 并处理其他应用程序放置的消息,并且这些服务始终完美无缺。不过,这是我第一次在现有的 Web 服务中尝试这样做。

0 投票
1 回答
594 浏览

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

0 投票
1 回答
949 浏览

multithreading - ServiceStack.Redis 多线程冲突

我有一个 ServiceStack.Redis 多线程冲突。我有一种 ServiceStack 的非标准用例,我在一个“FallbackRoute”中捕获所有路由。这意味着该一条路线有一项服务。这是 DTO:

该服务是:

然后在配置块中的 AppHost.cs 中,我自动装配了 redis:

我从有关如何正确使用带多线程的 BasicRedisClientManager 的帖子中得到了这个。但我得到如下例外:

只有当我有多个客户时才会发生。我可以用一个客户反复点击它,而且速度非常快。如果我同时添加一个客户端,它会死于这些 Redis 异常之一。

0 投票
0 回答
143 浏览

c# - servicestack.redis c#内存不足

在 C# 的 ServiceStack.Redis 中使用 PooledClientManager 时,出现以下错误

指定地址空间范围内内存不足,无法继续执行程序

内存超过 8gb,所以我觉得系统中有足够的可用内存空间。

可能是什么原因以及如何解决此问题。提前致谢。

0 投票
1 回答
2796 浏览

.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 服务停止。没有其他信息说明为什么会失败。我错过了任何一步吗?

0 投票
0 回答
489 浏览

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) 被清除。

0 投票
1 回答
268 浏览

servicestack - ServiceStack 无法与 Redis 设置会话

我正在使用 AuthFeature 对我的用户进行身份验证。我在写给 Redis 时遇到了问题。有谁之前经历过这个吗?

使用Choco 安装的ServiceStack 4.0.40Redis-64 v2.8.19

回复:

0 投票
1 回答
58 浏览

servicestack - 在 Servicestack Redis outq 中保留原始请求的副本

我意识到 outq 用于查看已处理消息的最后 100 个左右的响应。但是,存储在 outq 中的对象似乎只有响应正文,而不是原始请求,因此调试问题可能非常困难。

是否有一种简单的方法可以自动包含原始 inq 消息的副本?

0 投票
1 回答
279 浏览

servicestack - 如何在 ServiceStack Redis MQ 中添加处理失败消息的延迟

有没有一种简单的方法可以让 Servicestack 在重试失败的 MQ 项目之前等待 x 秒(使用 Redis MQ)。目前它只是连续尝试 3 次,没有延迟。

0 投票
1 回答
656 浏览

servicestack.redis - servicestack.redis 包装器性能不佳

我们正在尝试使用 ServiceStack 包装器在 Redis 中存储一些大缓冲区(每个 8MB)。我们使用“RedisNativeClient.Set(string key, byte[] value)” API 来设置缓冲区。客户端和服务器都驻留在同一台机器上。坚持残疾人。我们目前正在使用 ServiceStack 的评估版。

问题是我们的性能很差——大约 60 MB/秒。使用一些不同的 c# 包装器(“Sider”),我们可以获得更好的性能(~400 MB/秒)。

我用于测量的代码:

可能是什么问题?

谢谢,伊坦。