问题标签 [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 投票
1 回答
4532 浏览

stackexchange.redis - 如何使用 StackExchange.Redis 刷新数据库?

有没有办法使用 stackexchange.redis 删除 redis 中的所有键?

我正在尝试在我的单元测试设置中刷新我的 redis 数据库。

谢谢。

0 投票
1 回答
1979 浏览

c# - 使用 StackExchange.Redis ConnectionMultiplexer 而不是 BookSleeve ConnectionUtils 连接到 Redis sentinel

如何使用 StackExchange.Redis ConnectionMultiplexer 而不是 BookSleeve ConnectionUtils 连接到 Redis sentinel。

我目前正在使用 BookSleeve:

ConnectionUtils.Connect("127.0.0.1:26379,serviceName=mymaster");

我试图用 StackExchange.Redis 替换它: ConnectionMultiplexer.Connect("127.0.0.1:26379,serviceName=mymaster");

但它不起作用。

有任何想法吗?

0 投票
1 回答
6104 浏览

c# - 使用 StackExchange.Redis 并行执行?

我有一个 1M 项目商店,List<Person>我在其中进行序列化以便插入到 Redis。(2.8)

我将工作划分为10 Tasks<>每个部分都有自己的部分(List<>对于只读线程是安全的在 List 上执行多个读取操作是安全的

简化:

例子:

对于 ITEMS=100, THREADS=10, 每个Task都会​​捕获自己的 PAGE 并处理相关范围。

例如:

  • PAGE=0将处理:0,1,2,3,4,5,6,7,8,9
  • PAGE=4将处理:40,41,42,43,44,45,46,47,48,49

一切都好。

现在回到 SE.redis。

我想实现这种模式,所以我做到了:(使用ITEMS=1,000,000

在此处输入图像描述

我的测试:

(这里是dbsize每秒检查一次):

在此处输入图像描述

如您所见,通过 10 个线程添加了 1M 条记录。

现在,我不知道它是否很快,但是,当我将 ITEMS 从更改1M10M-- 事情变得非常缓慢并且我得到异常:

例外是在for循环中。

未处理的异常:System.AggregateException:发生一个或多个错误。---

System.TimeoutException:在 StackExchange.Redis 执行 SET urn:user>288257,inst:1,queu e:11,qu=0,qs=11,qc=0,wr=0/0,in=0/0 时超时。 ConnectionMultiplexer.ExecuteSyncImpl[T](消息消息,ResultProcessor 1 processor, ServerEndPoint server) in c:\TeamCity\buildAgen t\work\58bc9a6df18a3782\StackExchange.Redis\StackExchange\Redis\ConnectionMultip lexer.cs:line 1722 at StackExchange.Redis.RedisBase.ExecuteSync[T](Message message, ResultProces sor1 处理器,ServerEndPoint 服务器)在 c:\TeamCity\buildAgent\work\58bc9a6df 18a3782\StackExchange.Redis\StackExchange\Redis\RedisBase.cs:line 79 ... .. 。 按任意键继续 。. .

问题:

  • 我的分工方式是正确的方式吗(最快)
  • 我怎样才能更快地得到东西(示例代码将不胜感激)
  • 如何解决此异常?

相关资料:

<gcAllowVeryLargeObjects enabled="true" />存在于 App.config 中(否则我会出现 outOfmemoryException ),还 - 为 x64 位构建,我有 16GB ,,ssd 驱动器,i7 cpu)。

0 投票
2 回答
9338 浏览

c# - Redis 服务器失败,Socket 失败,超出输出缓冲区限制,如何增加限制?

我在一台机器上进行基本的发布/订阅,我的客户端是 StackExchange-Redis 的 C# 客户端,我在同一台机器上运行基于 Windows 的 Redis 服务器(服务器版本 2.8.4)

当我发布大量数据(略大于 32mb)时,我收到以下错误消息。我不确定错误是源自客户端还是由服务器引发。显然超出了“输出缓冲区限制”。如何提高限​​制?我需要偶尔发送此类有效负载的数据(尽管这是例外而不是常态)。

我不确定这是否相关,但每次启动服务器时都会打开/生成一个大小约为 32gb 的文件(???),文件名“RedisQFork_3564.dat”。这个文件是做什么用的?这一切都与我的问题有关吗?

服务器上的错误消息

[10144] 23 May 17:37:29.293 # Client addr=127.0.0.1:47943 fd=9 name=DESKTOP-PC a ge=20 idle=13 flags=N db=0 sub=7 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=88 oll=1 omem=108527608 events=rw cmd=subscribe scheduled to be closed ASAP for overcomi ng of output buffer limits. [10144] 23 May 17:37:38.802 # Client addr=127.0.0.1:47948 fd=10 name=DESKTOP-PC age=9 idle=9 flags=N db=0 sub=7 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=88 oll=1 omem=109314040 events=rw cmd=subscribe scheduled to be closed ASAP for overcomin g of output buffer limits.

客户端上的错误消息

Message: Connection to Redis Server failed: SocketFailure on 127.0.0.1:6379/ Subscription, input-buffer: 4583028, outstanding: 0, last-read: 0s ago, last-wri te: 8s ago, keep-alive: 60s, pending: 0, state: ConnectedEstablished, last-heart beat: 0s ago, last-mbeat: 0s ago, global: 0s ago

0 投票
1 回答
779 浏览

caching - 将 Azure Redis 缓存设置为 LRU

使用Azure redis 缓存的预览版,效果很好。但我不知道如何将其配置为 LRU 缓存,如 redis 文档所述。例外是

StackExchange.Redis.RedisServerException:ERR 未知命令“配置”

我的代码是

0 投票
2 回答
3040 浏览

c# - StackExchange.Redis 在 Mac OS X 中无法与 Mono 连接

我正在尝试使用以下选项在 Mac OS X 中的 Mono 上运行一个非常简单的 Redis 客户端:

它无法连接。这是跟踪:

我尝试过使用和不使用 ResolveDNS 并直接指定 IP 地址。也尝试了几个端口。服务器正在运行并且可以通过 redis-cli 访问。

StackExchange.Redis 版本="1.0.289" targetFramework="net45"

Redis-64 2.8.9

更新

StackExchange.Redis version="1.0.297" targetFramework="net45",同样的问题,但不同的日志

本地主机:6666,keepAlive=180,resolveDns=True

0 投票
1 回答
333 浏览

c# - 从 BookSleeve 迁移到 StackExchange.Redis - 映射事件

Stackexchange.Redis 中似乎没有“关闭”事件,只有一个“连接失败”事件,根据我的理解表明暂时失败(这就是为什么还有一个“连接恢复”事件?)。这是因为 StackExchange 总是在连接意外关闭时重试 - 是否有事件指示连接何时永久关闭?

0 投票
3 回答
11328 浏览

stackexchange.redis - 使用 StackExchange.Redis 的 Redis 密码

如何使用 StackExchange.Redis 指定 Redis 服务器的密码?我猜你将它添加到传递给 Connect 方法的配置字符串中。我似乎找不到需要指定的格式。

0 投票
1 回答
2102 浏览

c# - StackExchange Redis SortedSetRangeByScoreWithScoresAsync 获取前 n 个元素

我在 .NET 应用程序中使用 StackExchange.Redis API 进行分析。

我使用排序集作为数据存储。以下 redis 命令的 StackExchange.Redis 中的等效方法是什么:

StackExchange.Redis API 中使用 SortedSetRangeByScoreWithScoresAsync 函数的等效方法是什么?

0 投票
1 回答
278 浏览

redis - 如何使用 Booksleeve 获取键/值列表?

我正在尝试获取值列表,其中键名以“monkey”开头。

我真的找不到这方面的文档。:(

我怎样才能做到这一点?我应该使用什么 API?Keys, Sets, Strings? 什么方法?

或者它尚不可用,但有一种解决方法?

谢谢