jjzjj

StackExchange

全部标签

c# - 使用 StackExchange.Redis 连接到 Azure Redis 缓存时出错

我正在尝试使用StackExchange.Redis.StrongNameV1.2.1连接到AzureRedis缓存我的代码是这样的stringredisServer=ConfigManager.GetValue("RedisServer");redis=ConnectionMultiplexer.Connect(redisServer);redisDB=redis.GetDatabase();varserializedValue=redisDB.StringGet(key);最后一行总是抛出这个异常{"Accesstotheregistrykey'238'isdenied."}atM

c# - 使用 StackExchange 库从 Windows 上的 C# 连接到 Redis 时出错

我正在尝试使用StackExchangelibrary在C#中连接到Windows上的Redis但出现错误:StackExchange.Redis.RedisConnectionException:Noconnectionisavailabletoservicethisoperation:HMSETuser:user1;SocketFailureonlocalhost:6379/Subscription,origin:Error,input-buffer:0,outstanding:0,last-read:0sago,last-write:0sago,unanswered-write:

redis - 为什么 StackExchange.Redis 在 transaction.ExecuteAsync() 中频繁抛出 "Unexpected response to EXEC: MultiBulk: 0"异常?

我尝试通过代码进行调试,它似乎主要在多个客户端试图修改事务中的同一个key时重现。重试事务通常可以消除错误,但是首先抛出异常有什么原因吗?我要执行的代码非常简单:varexistingValue=db.HashGetAsync(hashKey,field);vart=db.CreateTransaction();t.AddCondition(Condition.HashEqual(hashKey,field,existingValue));t.HashSetAsync(hashKey,field,newValue,flags:CommandFlags.FireAndForget);bo

c# - 在stackexchange redis中存储ConnectionMultiplexer的正确位置在哪里

将它作为静态变量存储在我的实用程序中并在任何地方访问它是否存在潜在问题,或者应该使用using语句?我假设后者,很像数据上下文,但如果使用初始值更有效,因为我希望连接几乎始终处于打开状态,我只想借鉴其他人的经验。谢谢 最佳答案 我将多路复用器存储在静态变量中并且没有遇到任何问题。基于创作者文档https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Basics.md不建议使用using语句,因为多路复用器设计为可重用。在文档的开头找到它。希望对您有所

redis - 无法在 C# 中使用 StackExchange redis 连接 Twemproxy

我正在尝试使用TWEMPROXY服务器的IP地址通过StackExchangeredis执行下面的C#代码,它给出了以下错误:Anunhandledexceptionoftype'StackExchange.Redis.RedisConnectionException'occurredinStackExchange.Redis.dllAdditionalinformation:Itwasnotpossibletoconnecttotheredisserver(s);tocreateadisconnectedmultiplexer,disableAbortOnConnectFail.So

c# - 即使指定了 TimeSpan.MaxValue 过期,HashSet 也会从 Redis 缓存中删除

我正在使用StackExchange.Redis客户端访问AzureRedis缓存。我正在创建一个哈希集,如下所示:Database.HashSet("HashSetKey","EntryKey","EntryValue");Database.KeyExpire("HashSetKey",TimeSpan.MaxValue);即使我将过期时间指定为TimeSpan.MaxValue,哈希集也会在几分钟未被使用后被删除。我错过了什么? 最佳答案 将TimeSpan.MaxValue设置为key到期没有意义。你根本不应该设置它,因为它永

c# - 有条件地操作 StackExchange.Redis 中的哈希依赖于一些同步

我正在使用由一些底层持久存储支持的Redis,因此当缓存请求未命中时,逻辑将从支持的存储中获取数据并将其传递给客户端,并将其存储在缓存中。当同时发生一些丢失key的请求时,我确实希望只允许一个请求到达持久存储并完成工作,而其他请求将锁定或已订阅key更改并返回给调用者并从缓存中获取值。 最佳答案 一种可能的方法是在需要填充缓存时添加一个带过期时间的字符串键(seeEXPIREcommand),称为whatever:lock到您的项目)并在4-5分钟后过期。所有对缓存的请求都应该检查是否存在whatever:lock:如果它不存在,那

Redis 缓存服务器 - 多网站环境

我是redis的新手,但我今天安装了一个windows版本。我能够使用StackExchange.Redisc#客户端(https://github.com/StackExchange/StackExchange.Redis)但是现在我遇到了一个小问题。我有一个站点有多个使用相同的redis服务器的环境,所以我遇到了一个关键的冲突问题。在一台Redis服务器上支持多环境应用程序的最佳方式是什么。我阅读了有关数据库索引的信息,但根据我对一些过时文章的研究,它似乎不受欢迎。2016年,推荐的方法是什么? 最佳答案 通常有两种解决方法:A

Azure Redis 缓存 : "role discovery data is unavailable"

我正在尝试连接到AzureRedisCache的一个实例从我本地的开发机器。我正在使用StackExchange.Redis像这样:varlazyConnection=newLazy(()=>{returnConnectionMultiplexer.Connect($"{redisServerUrl},abortConnect=false,ssl=true,password={redisServerKey},connectTimeout=10000,syncTimeout=10000");});当lazyConnection被调用时,我得到一个InvalidOperationExcep

c# - 使用 StackExchange.Redis 超时异常的原因可能是什么?

我在使用StackExchange.Redis1.2.0.0执行操作时不时遇到此错误在Azure应用服务上运行的ASP.NET应用的AzureRedis上:TimeoutperformingEXISTSbookmark:afad5065-29b1-48c7-8bbc-38ddcc9ab4e4type:1,inst:1,mgr:Inactive,err:never,queue:3,qu:0,qs:3,qc:0,wr:0,wq:0,in:0,ar:0,clientName:mywebapp,serverEndpoint:Unspecified/myapp.redis.cache.windo