问题标签 [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.
c# - 从 Redis 连接丢失中恢复
我正在寻找Redis连接丢失后[在多线程环境中]恢复的参考实现。到目前为止找不到任何有意义的东西。
设置:我有一个 Azure 辅助角色,它在多个线程中运行相同的代码 (ThreadProc)。最初,我有静态 ConnectionMultiplexer 并在每次 Redis 操作之前执行 .GetDatabase() 。那根本没有通过压力测试(一旦负载从低增加到中等,就会出现大量“无法连接”的错误)。我已将其更改为:
即使在高负载下(每个工作角色实例 1000+ 操作/秒),它也能很好地工作,直到我得到“没有可用的连接来服务这个操作”,然后事情就无法恢复。
请让我知道可以从间歇性连接问题中恢复的正确/推荐代码是什么。
c# - StackExchange.Redis 将 hast 反序列化为 poco
我使用 StackExchange.Redis 作为我的 redis 客户端,它运行良好。我将许多值存储在哈希中,并且在从数据库中获取哈希值后当前进行手动映射
有没有人有一个很好的方法将数组反序列化/映射HashEntry[]
到 poco 中?
c# - 企业库瞬态故障处理与 StackExchange.Redis 一起连接到 Azure Redis 缓存
我目前正在使用 MS Enterprise Library 6 瞬态故障处理应用程序块。我提供了一个无效RedisCacheKey
的来模拟服务中断。
瞬态故障处理
观察调试输出
StackExchange.Redis 是否会破坏 azure redis 缓存?有没有人实现过类似的东西?
c# - 如何使用 c# 在 stackexchange redis 客户端上执行刷新命令
我们如何使用 stackexchange redis 客户端执行 FlushAll 和 FlushDB redis 命令?
redis - 第一次将过期设置为已经过去的时间返回 True
在下面的测试中,我试图将密钥的到期时间设置为已经过去的时间(10 秒前)。如果设置过期“失败”,我需要它能够抛出异常。我了解,我可以在设置缓存之前验证过期时间,但在某些情况下,我可能更愿意避免单独检查。
从(一致的)行为我可以观察到,第一次它总是“成功”(返回 true),第二次它的行为符合预期(返回 false)。
可能是我做错了什么?
redis - StackExchange.Redis - LockTake / LockRelease 用法
我将 Redis 与 StackExchange.Redis 一起使用。我有多个线程会在某个时候访问和编辑同一个键的值,所以我需要同步数据的操作。
查看可用函数,我看到有两个函数,TakeLock 和 ReleaseLock。但是,这些函数需要一个键和一个值参数,而不是预期的单个键被锁定。GitHub 上的 intellisene 文档和源代码没有解释如何使用 LockTake 和 LockRelease 函数或为键和值参数传递什么。
问:StackExchange.Redis 中 LockTake 和 LockRelease 的正确用法是什么?
我打算做的伪代码示例:
c# - ISubscriber、.Subscribe() 和 .Unsubscribe() 范围
我试图了解在订阅(和取消订阅)通知领域专门使用 SE.Redis 对象的范围。
我想做类似以下的事情来等待远程节点指示它已更改/释放资源(一个非常愚蠢的分布式信号量):
我相当肯定这是错误的 :) 并且在ConnectionMultiplexer
共享的多线程环境中,我可能最终会陷入一场比赛,一个线程订阅特定的线程,RedisChannel
而另一个线程取消订阅它。
是否有可能安全/有效地实现这种模式,或者我是否试图过多地简化这个问题并且需要一个每个进程的“订阅管理器”来协调我的订阅?
c# - 在 StackExchange.Redis 中将对象转换为 HashEntry
我想让 HashSet 在 redis 中使用 StackExchange.Redis,但是在 db.HashSet() 中我应该传递 HashEntry 类型,我如何将对象转换为 HashEntry,我知道反射,是否有转换对象的快速代码?
redis - stackexchange.redis 通配符删除
我们正在使用 StackExhange.Redis,我需要对部分键进行删除。
我们的密钥结构如下:
我想要做的是为 user_item* 发出一个删除命令,并让它删除所有以 user_item 开头的键。
是否可以通过 StackExchange.Redis 执行这种类型的通配符删除语句
c# - 通过 StackExchange.Redis 中的键模式获取值
我正在尝试使用模式来检索与模式匹配的所有键Stackexchange.Redis
。
代码