问题标签 [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.
stackexchange.redis - 如何使用 StackExchange.Redis 刷新数据库?
有没有办法使用 stackexchange.redis 删除 redis 中的所有键?
我正在尝试在我的单元测试设置中刷新我的 redis 数据库。
谢谢。
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");
但它不起作用。
有任何想法吗?
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 从更改1M
为10M
-- 事情变得非常缓慢并且我得到异常:
例外是在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 sor
1 处理器,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)。
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
caching - 将 Azure Redis 缓存设置为 LRU
使用Azure redis 缓存的预览版,效果很好。但我不知道如何将其配置为 LRU 缓存,如 redis 文档所述。例外是
StackExchange.Redis.RedisServerException:ERR 未知命令“配置”
我的代码是
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
c# - 从 BookSleeve 迁移到 StackExchange.Redis - 映射事件
Stackexchange.Redis 中似乎没有“关闭”事件,只有一个“连接失败”事件,根据我的理解表明暂时失败(这就是为什么还有一个“连接恢复”事件?)。这是因为 StackExchange 总是在连接意外关闭时重试 - 是否有事件指示连接何时永久关闭?
stackexchange.redis - 使用 StackExchange.Redis 的 Redis 密码
如何使用 StackExchange.Redis 指定 Redis 服务器的密码?我猜你将它添加到传递给 Connect 方法的配置字符串中。我似乎找不到需要指定的格式。
c# - StackExchange Redis SortedSetRangeByScoreWithScoresAsync 获取前 n 个元素
我在 .NET 应用程序中使用 StackExchange.Redis API 进行分析。
我使用排序集作为数据存储。以下 redis 命令的 StackExchange.Redis 中的等效方法是什么:
StackExchange.Redis API 中使用 SortedSetRangeByScoreWithScoresAsync 函数的等效方法是什么?
redis - 如何使用 Booksleeve 获取键/值列表?
我正在尝试获取值列表,其中键名以“monkey”开头。
我真的找不到这方面的文档。:(
我怎样才能做到这一点?我应该使用什么 API?Keys
, Sets
, Strings
? 什么方法?
或者它尚不可用,但有一种解决方法?
谢谢