jjzjj

StackExchange

全部标签

redis - StackExchange Redis ChannelPrefix 不是作用域键

我在连接字符串中声明了channelPrefix,我可以使用ConfigurationOptions.Parse判断它是否正确地从字符串中解析出channelPrefix。我假设如果我打开两个Microsoft.Extensions.Caching.StackExchangeRedis.RedisCache实例,其中每个实例都有相同的连接字符串,除了不同的channelPrefix值,Redis会为这两个键维护单独的值,但事实并非如此我所看到的。当我使用RedisCache的一个实例将一个值设置为一个键时,我可以使用相同的键从另一个实例检索该值。我是否完全误解了channelPrefi

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

我在.NET应用程序中使用StackExchange.RedisAPI进行分析。我正在使用SortedSets作为数据存储。以下redis命令在StackExchange.Redis中的等效方法是什么:ZREVRANGEBYSCORE"KEY:2014052923"+inf-infwithscoresLimit010在StackExchange.RedisAPI中使用SortedSetRangeByScoreWithScoresAsync函数的等效方法是什么? 最佳答案 SortedSetEntry[]values=db.Sorte

redis - 使用 stackexchange.Redis 批量删除?

我们的应用程序必须从Redis中逐出一组键(可能有几百个)。Stackexchange.Redis有批量删除的方法吗? 最佳答案 IDatabase[Async]接口(interface)有一个KeyDelete[Async]方法,它接受一个RedisKey[]并返回删除的键数.请注意,RedisKey可从键的string和byte[]表示中隐式转换。这是使用del的varadic形式实现的。命令。 关于redis-使用stackexchange.Redis批量删除?,我们在StackO

c# - 使用 StackExchange.Redis 的循环发布/订阅

我知道Redis本身不支持向客户端循环分发消息。但我想知道是否可以通过StackExchange.Redis实现这一目标?换句话说:我不想将发布到channel的消息平均分配给订阅客户。我想我可以轮询一个阻止列表pop吗?还是订阅一个channel(用于阻止)然后从列表中正确弹出工作更好?谢谢,Bj 最佳答案 SE.Redisdoesnotsupportblockingpops.如果您需要真正的循环法,我建议通过在已知客户端之间轮换channel名称/key名称来在客户端执行此操作。如果您只需要人们在准备就绪时开始工作,那么使用pu

c# - StackExchange.Redis - 如何克隆 HashMap

是否有任何StackExchange.Redisapi可以克隆HashMap或更好地与redislua脚本一起使用? 最佳答案 克隆/复制任何Redis数据类型的最简单方法是使用DUMP和RESTORE命令组合。在大多数情况下,它也是最快的。为了避免来回发送负载,Lua脚本绝对是最好的方式(https://gist.github.com/itamarhaber/d30b3c40a72a07f23c70):--@desc:Thefastest,type-agnosticwaytocopyaRediskey--@usage:redis-

redis - StackExchange.Redis 客户端在订阅 channel 时是否受到限制?

我想用StackExchange.Redis开发一个PUB/SUB消息队列。在StackExchange.Redis文档中指定:-Thedataisnotsentviapub/sub;thepub/subAPIisonlyusedtonotifyworkerstocheckformorework所以我明白,一旦订阅的工作人员通过PUB/SUB检测到通知,我可能需要使用其他Redis操作(如LPOP)来检查工作。但是Redis引用指定:Oncethecliententersthesubscribedstateitisnotsupposedtoissueanyothercommands,e

c# - stackexchange.redis 即使在增加超时后也会抛出超时?

尝试从缓存中删除时出现以下错误:TimeoutperformingDELtest.com,inst:0,mgr:ExecuteSelect,err:never,queue:0,qu:0,qs:0,qc:0,wr:0,wq:0,in:0,ar:0,clientName:ORLWS052,serverEndpoint:Unspecified/pub-redis-16778.us-west-2-1.1.ec2.garantiadata.com:16778,keyHashSlot:6928,IOCP:(Busy=3,Free=997,Min=4,Max=1000),WORKER:(Busy=4

session - StackExchange RedisTimeoutException

我最近将我的项目转移到Redissession。Redissession从登录到到达仪表板都可以完美运行。在此期间,session的读写工作正常。但是,当我继续访问任何内页时,出现超时错误,如下所示。StackExchange.Redis.RedisTimeoutException:TimeoutperformingHGETALL{Key},inst:1,queue:17,qu:0,qs:17,qc:0,wr:0,wq:0,in:0,ar:0目前我的配置如下。ConfigurationOptions.Parse("server,connectTimeout=15000,KeepAliv

c# - Stackexchange.Redis ListRightPush "Invalid number of arguments"

我正在尝试批量保存到redis列表中。它适用于一批,但对于两个,我得到一个异常,说我的参数数量无效。这是我的代码:ListtoWrite=newList(batchSize);UserRequestr;while(toWrite.Count0){GetDB().ListRightPush(key,toWrite.ToArray());//ThrowsexceptionGetDB().KeyExpire(key,DateTime.Now.AddHours(4),CommandFlags.FireAndForget);}我在这里做错了什么?会不会是我的序列化方案中的空终止符?

redis - StackExchange.Redis:批量访问多个哈希

所以我需要批量访问许多不同的哈希值(在StackExchange.Redis中,我有不同的RedisKey)。最好(最快)的方法是什么?例如,对于这两种可能的实现,哪个是正确的?哪个效果更好?1.List>list=newList>();Listkeys;//Previouslyinitializedlistofkeysforeach(varkeyinkeys){vartask=db.HashGetAllAsync(key);list.Add(task);}awaitTask.WhenAll(list);List>list=newList>();Listkeys;//Previousl