问题标签 [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 回答
351 浏览

servicestack - 使用 RedisMQ 设计 ServiceStack

我正在实现一个具有 Web 界面(服务堆栈)和长时间运行的作业服务(服务堆栈?)的解决方案。

我已经实现了 Web 界面,并发现 servicestack 是一个非常好的框架,可以用来创建我想要的东西。我使用 redis 作为半可靠的对象存储。

然后我开始思考如何实现作业服务。我最初以为我要做的是设置一个简单的 Windows 服务,并让 redis 客户端拿起标记为作业服务的想法(我不确定到底如何)。这些是运行时间很长的作业,需要大量资源,所以我想限制一次运行的数量,以及如果我可以使用工作机器扇出会很好。

然后我看到 ServiceStack 有一个可能符合要求的 RedisMQ,因此问题就来了。

我是否应该创建一个单独的 servicestack 服务并将其托管在 Windows 服务中。然后在上面有一个 MQ 接口,让 web 服务发布到需要运行的消息队列作业。然后 jobservice 与 webservice 分离,一切都很好。

或者

我是不是想多了,应该只使用我已经运行的服务的逻辑部分并在那里实现作业逻辑,可以在 MQ 中弹出,但在同一个过程中可能只是浪费时间。我可以完全跳过消息部分,直接使用一些节流算法直接调用逻辑部分。

另外,当我对此进行测试时,我在创建 RedisMQ 服务器时遇到了麻烦

返回未找到 RedisMQServer。

我对 servicestack 和 servicestack.redis 包进行了完整的 nuget 安装

当我在 .dll 上使用对象浏览器时,我没有发现任何提及 ReidsMQServer,版本 i 4.0.15 我找到了这个 url https://github.com/ServiceStack/ServiceStack/blob/master/src/ServiceStack。 Server/Messaging/Redis/RedisMqServer.cs 并且会认为这个应该属于servicestack.redis的引用。

任何帮助表示赞赏,干杯

0 投票
3 回答
2314 浏览

redis - ServiceStack.Redis 搜索键

ServiceStack.Redis在 C# 上使用客户端。

我使用以下模式a::name::1添加了大约 500 万条type1记录,并使用模式b::RecId::1添加了1100 万条type2记录。

现在我使用 redis 类型的客户端作为client = redis.As<String>. 我想检索type2的所有键。我正在使用以下模式:

但是检索密钥需要很长时间(大约 3-5 分钟)。

有没有更快更有效的方法来做到这一点?

0 投票
1 回答
868 浏览

servicestack.redis - 使用 ServiceStack.Redis IRedisTypedClient 获取项目和计数

我刚刚开始使用 ServiceStack.Redis。我可以将单个键/值放入缓存中并从缓存中获取它们。但是,我似乎无法获取缓存中的所有项目或项目计数。

这是代码

0 投票
1 回答
523 浏览

c# - 使用Servicestacks c# redis客户端如何设置URN?

我有如下代码:

如何为要添加的项目设置 URN?我在对象上看到了 CreateUrn 扩展,但我没有看到明确设置它的方法。默认情况下,它会创建一个“urn:vehicle:Id”的 URN。我想有一个像“urn:vehicles-{MySpecialId}:Id”这样的URN,可以控制吗?

或者用另一种方式来问这个......我可以为我存储的对象制作自己的 URN 吗?

0 投票
1 回答
577 浏览

servicestack - servicestack.redis 中的 IRedisClientsManager 和 IRedisClientCacheManager 有什么区别

servicestack.redis 中的 IRedisClientsManager 和 IRedisClientCacheManager 有什么区别。我正在尝试替换我的 appfabric 分布式缓存。我应该使用哪个客户端?

0 投票
1 回答
166 浏览

servicestack - ServiceStack 消息队列 .outq 最大大小为 100?

我正在使用 ServiceStack-v3 设置一个消息队列,如下所示

ClaimImport -> 验证 -> 成功

我已经添加了数百个ClaimImports没有问题,.inq计数是正确的。问题是我想通过检查ClaimsImport.outq. 它似乎永远不会超过 101。有没有其他方法可以检查这个,或者这个最大限制是故意的?

dlq 中最多 101 个项目

0 投票
0 回答
169 浏览

servicestack.redis - 我如何使用 protobuf 作为 ServiceStack.Redis 的默认序列化

ServiceStack.Redis 使用 JsonSerializer 作为内部。我可以使用protobuf吗?有什么通用设置吗?

0 投票
1 回答
3380 浏览

c# - C# (serviceStack) 的 Redis 客户端 - 文档在哪里?

用于 c#的旧版redis 客户端使用的命令如下:

redisClient.GetTypedClient<Customer>()

但是现在-正如我在示例中看到的那样,它已更改为.As<Customer>()

问题

所有这些命令的 Api 文档在哪里?

第三方链接也将不胜感激

此链接不包含所有命令的文档

0 投票
1 回答
1358 浏览

c# - Redis 不会序列化我的复杂对象?

我有这个简单的课程:

然后我像这样创建 Ienumerable :

但是运行Monitor ,可以看到数组没有序列化:

在此处输入图像描述

相关资料:

这就是我实际插入 Redis 的方式:

问题 :

我究竟做错了什么 ?为什么数组没有被序列化,我怎样才能让它被包含在内?

0 投票
1 回答
1782 浏览

c# - Redis 插入哈希非常(!)慢?

我有一个1M x 100随机数的锯齿状数组():

这些100 random numbers是我需要将它们映射到 userId 的图像 ID(即0..1M

我想将它们存储在 Redis 中。(通过哈希,因为我知道哈希在 Redis 中非常有效地存储——这也是instagram使用它来解决类似问题的方式


锯齿状数组:

(一切都好。)

随机数的初始化:

(一切都好。)

这里是我如何使用 Redis 客户端输入值:(我使用 1000 桶优化方法

问题 :

插入阶段(我不关心初始化时间)——现在需要一个多小时 ,但还没有25%

相关资料:

我有一台功能强大的电脑:(win 8),还添加了<gcAllowVeryLargeObjects enabled="true" />

在此处输入图像描述

问题 :

  • 我做错了什么,如何使插入更快?

(相关信息:这 100 个数字是图像 ID,我需要将它们映射到 userId)