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

servicestack - 使 Redis Pub/Sub 在多个网站/服务之间工作的 ServiceStack 最低配置

假设为了争论,我有 3 个 Web 服务主机正在运行,其中只有一个注册了任何处理程序(我认为这等同于订阅频道/主题),例如

现在我的问题是,“如果它们只发布,我是否需要以相同的方式构建其他应用程序主机??” 例如

谢谢你,斯蒂芬

0 投票
1 回答
1599 浏览

multithreading - RedisResponseException:对多请求的未知回复

我们有一个 Windows 服务,每分钟运行一次石英作业,以处理 3 小时前提交的评论。该应用程序使用最新的 ServiceStack.Redis v3 库与另一台机器上的 Redis 2.8.12 实例进行交互。

提交新评论时,新评论的 ID 存储在 Redis 中的排序集中,我们使用NewReview.DateCreated.Ticks作为分数。当作业运行时,它会执行以下代码以获取要处理的评论列表:

通常,这工作正常,如果排序集中有 3 小时或更早之前的任何评论,它们的 ID 会被返回,并且作业会正常处理它们。但是,相同的确切代码会间歇性地导致以下异常发生:

我尝试下载并进入 ServiceStack 源代码,但在调试时问题从未发生过,否则我似乎无法重现它。RedisClientManager是一个单例PooledRedisClientManager ,据我所知,我正在正确地创建和处理客户端,并且我也没有使用事务或管道。

我的理解是,池化客户端管理器正在做一些棘手的连接共享工作,因为 Redis 实际上是单线程的。感觉它可能会从另一个连接或其他一些线程或连接共享问题返回错误的结果。

关于可能导致这种情况的任何想法?

0 投票
3 回答
36752 浏览

c# - 如何在 Redis 缓存中存储列表元素

我已经用于StackExchange.Redisc# redis 缓存。

但我想存储数据

这样一键存储了所有客户列表,并且在该列表中也很容易搜索、分组、过滤客户数据

欢迎使用ServiceStack.Redis或回答StackExchange.Redis

0 投票
1 回答
2185 浏览

azure - 无法使用 ServiceStack.Redis 库连接 Redis 缓存服务器

我已经安装PM> Install-Package ServiceStack.Redis并使用了以下代码来连接 azure redis 缓存。

PRIMARY KEY我想我错过了连接字符串,因为我没有放弃host

得到错误:

{“无法连接到 mydemo.redis.cache.windows.net:6379 的 redis 实例”}

连接尝试失败,因为连接的一方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应 11.22.216.225:6379

0 投票
2 回答
1583 浏览

c# - 如何在c#中锁定服务堆栈redis列表

在c#中,使用服务栈redis,基于如下url,

https://github.com/ServiceStack/ServiceStack.Redis/wiki/RedisLocks

要锁定字符串条目,使用以下方法。

上面的 SetEntry 代码可以很好地设置字符串值。但是当使用相同的代码锁定一个列表时,它会抛出 Redis 异常。

Acquirelock 方法工作正常,但将新值推送到 using 语句中的列表会引发以下异常。

WRONGTYPE 对持有错误值的键的操作,sPort: 50371, LastCommand: RPUSH 97:Q {}

它只是一个简单的控制台应用程序。如果没有获取锁方法,值会成功添加到列表中。

如何在 C# 中锁定一个 redis 列表?

0 投票
2 回答
606 浏览

c# - 如何使用 Servicestack.Redis 中的“New Managed Pub/Sub Server”取消订阅频道

New Managed Pub/Sub Server文档中,他们展示了如何在 pubsubserver 的初始化中订阅频道。但是,如果需要,您如何在节目后期取消订阅特定频道?

我的代码:

0 投票
1 回答
127 浏览

servicestack - 停止 Servicestack 记录所有 Get Set 命令

自从我几天前升级了 Servicestack 以来,它已经开始使用名为 ServiceStack.Redis.RedisNativeClient 的记录器记录我的所有 Redis 请求。

它相当填满了我的日志。有没有办法禁用它?和servicestack升级有关系吗?还是我无意中设置了配置设置?(我没有故意接近 Redis 代码)。我们也确实在 Azure 上升级到了更新版本的 Redis - 这会导致它吗?(似乎不太可能)

谢谢。

0 投票
1 回答
1240 浏览

redis - 使用 ServiceStack.Redis 客户端版本 4.0.44 从远程服务器访问 redis 时获取“没有可用的 Redis Sentinels”

我们有一个带有两个 redis 服务器的 redis 配置。我们还有 3 个哨兵来监控这两个实例并在需要时启动故障转移。

我们从一些应用程序中间歇性地收到以下问题:

ServiceStack.Redis.RedisException: No Redis Sentinels were available ---> ServiceStack.Redis.RedisException: Unable to Connect: sPort: 0

Unable to Connect: sPort: 0部分可能表明这是一个 ConnectTimeout 问题(根据这个问题:ServiceStack.Redis: Unable to Connect: sPort: 0)。但是,我不太确定这是问题所在,因为它说“没有可用的 Redis Sentinel”。

虽然我们在某些应用程序上间歇性地遇到此问题,但其他一些应用程序(例如我们编写的一些控制台应用程序)似乎一直在遇到此问题。

任何人都可以阐明这个问题是什么以及如何解决它?如果您在 Google 上搜索“没有可用的 Redis Sentinels”,您只会得到 ServiceStack.Redis GitHub 页面,该页面包含输出此消息的实际代码。

0 投票
1 回答
1630 浏览

redis - Redis HSCAN 多重匹配

这是我拥有的哈希集

您可以将 set 字段视为电话号码,将 SET 值视为人名。

我需要获取电话号码中包含“23”和“89”的所有记录。

可以执行 2 个请求并将它们合并到服务器上:

我们可以用一个表达式做同样的事情吗?像这样

0 投票
1 回答
14468 浏览

c# - StackExchange.Redis 和 ServiceStack.Redis 的区别

有人可以解释ServiceStack.RedisStackExchange.Redis c# 库的区别吗?