问题标签 [stackexchange.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 投票
2 回答
10184 浏览

c# - 从 Redis 连接丢失中恢复

我正在寻找Redis连接丢失后[在多线程环境中]恢复的参考实现。到目前为止找不到任何有意义的东西。

设置:我有一个 Azure 辅助角色,它在多个线程中运行相同的代码 (ThreadProc)。最初,我有静态 ConnectionMultiplexer 并在每次 Redis 操作之前执行 .GetDatabase() 。那根本没有通过压力测试(一旦负载从低增加到中等,就会出现大量“无法连接”的错误)。我已将其更改为:

即使在高负载下(每个工作角色实例 1000+ 操作/秒),它也能很好地工作,直到我得到“没有可用的连接来服务这个操作”,然后事情就无法恢复。

请让我知道可以从间歇性连接问题中恢复的正确/推荐代码是什么。

0 投票
1 回答
1075 浏览

c# - StackExchange.Redis 将 hast 反序列化为 poco

我使用 StackExchange.Redis 作为我的 redis 客户端,它运行良好。我将许多值存储在哈希中,并且在从数据库中获取哈希值后当前进行手动映射

有没有人有一个很好的方法将数组反序列化/映射HashEntry[]到 poco 中?

0 投票
0 回答
691 浏览

c# - 企业库瞬态故障处理与 StackExchange.Redis 一起连接到 Azure Redis 缓存

我目前正在使用 MS Enterprise Library 6 瞬态故障处理应用程序块。我提供了一个无效RedisCacheKey的来模拟服务中断。

瞬态故障处理

观察调试输出

StackExchange.Redis 是否会破坏 azure redis 缓存?有没有人实现过类似的东西?

0 投票
1 回答
2186 浏览

c# - 如何使用 c# 在 stackexchange redis 客户端上执行刷新命令

我们如何使用 stackexchange redis 客户端执行 FlushAll 和 FlushDB redis 命令?

0 投票
1 回答
212 浏览

redis - 第一次将过期设置为已经过去的时间返回 True

在下面的测试中,我试图将密钥的到期时间设置为已经过去的时间(10 秒前)。如果设置过期“失败”,我需要它能够抛出异常。我了解,我可以在设置缓存之前验证过期时间,但在某些情况下,我可能更愿意避免单独检查。

从(一致的)行为我可以观察到,第一次它总是“成功”(返回 true),第二次它的行为符合预期(返回 false)。

可能是我做错了什么?

0 投票
2 回答
18557 浏览

redis - StackExchange.Redis - LockTake / LockRelease 用法

我将 Redis 与 StackExchange.Redis 一起使用。我有多个线程会在某个时候访问和编辑同一个键的值,所以我需要同步数据的操作。

查看可用函数,我看到有两个函数,TakeLock 和 ReleaseLock。但是,这些函数需要一个键和一个值参数,而不是预期的单个键被锁定。GitHub 上的 intellisene 文档和源代码没有解释如何使用 LockTake 和 LockRelease 函数或为键和值参数传递什么。

问:StackExchange.Redis 中 LockTake 和 LockRelease 的正确用法是什么?

我打算做的伪代码示例:

0 投票
0 回答
386 浏览

c# - ISubscriber、.Subscribe() 和 .Unsubscribe() 范围

我试图了解在订阅(和取消订阅)通知领域专门使用 SE.Redis 对象的范围。

我想做类似以下的事情来等待远程节点指示它已更改/释放资源(一个非常愚蠢的分布式信号量):

我相当肯定这是错误的 :) 并且在ConnectionMultiplexer共享的多线程环境中,我可能最终会陷入一场比赛,一个线程订阅特定的线程,RedisChannel而另一个线程取消订阅它。

是否有可能安全/有效地实现这种模式,或者我是否试图过多地简化这个问题并且需要一个每个进程的“订阅管理器”来协调我的订阅?

0 投票
3 回答
3885 浏览

c# - 在 StackExchange.Redis 中将对象转换为 HashEntry

我想让 HashSet 在 redis 中使用 StackExchange.Redis,但是在 db.HashSet() 中我应该传递 HashEntry 类型,我如何将对象转换为 HashEntry,我知道反射,是否有转换对象的快速代码?

0 投票
1 回答
1109 浏览

redis - stackexchange.redis 通配符删除

我们正在使用 StackExhange.Redis,我需要对部分键进行删除。

我们的密钥结构如下:

我想要做的是为 user_item* 发出一个删除命令,并让它删除所有以 user_item 开头的键。

是否可以通过 StackExchange.Redis 执行这种类型的通配符删除语句

0 投票
1 回答
15680 浏览

c# - 通过 StackExchange.Redis 中的键模式获取值

我正在尝试使用模式来检索与模式匹配的所有键Stackexchange.Redis

代码