【问题标题】:RedisConnectionException: No connection is available to service this operation: EVALRedisConnectionException:没有可用于服务此操作的连接:EVAL
【发布时间】:2020-04-01 15:29:32
【问题描述】:

我正在尝试在 ASP.NET WebForms 应用程序 (4.7.2) 中实现 Redis。我从https://github.com/Azure/aspnet-redis-providers 下载了 SessionProvider 源代码。我正在使用 StackExchange.Redis 2.0+ 。

执行登录后,抛出此错误:

显然,有人尝试eval 一些 Lua 脚本,但失败了(这是关闭 StackExchange.Redis related issue 的结论)。

因此,假设假设正确,我提取了有问题的脚本,并使用 redis-cli --eval 以及键和参数运行它。

local retArray = {} 
local lockValue = ARGV[1] 
local locked = redis.call('SETNX',KEYS[1],ARGV[1])        
local IsLocked = true

if locked == 0 then
    lockValue = redis.call('GET',KEYS[1])
else
    redis.call('EXPIRE',KEYS[1],ARGV[2])
    IsLocked = false
end

retArray[1] = lockValue
if lockValue == ARGV[1] then retArray[2] = redis.call('HGETALL',KEYS[2]) else retArray[2] = '' end

local SessionTimeout = redis.call('HGET', KEYS[3], 'SessionTimeout')
if SessionTimeout ~= false then 
    retArray[3] = SessionTimeout 
    redis.call('EXPIRE',KEYS[2], SessionTimeout) 
    redis.call('EXPIRE',KEYS[3], SessionTimeout) 
else 
    retArray[3] = '-1' 
end

retArray[4] = IsLocked
return retArray

成功了。

还有其他可能引发此异常的问题吗?

编辑:升级到 2.0。仍然遭受同样的问题。

【问题讨论】:

    标签: redis stackexchange.redis azure-redis-cache


    【解决方案1】:

    我试图研究您的问题,然后我发现 GitHub StackExchange/StackExchange.Redis repo 的问题 No connection is available to service this operation using v.1.2.6 #762 似乎与您的相同。

    根据GitHub issue底部的评论注释,另一个issue"network stability" / 2.0 / "pipelines" rollup issue #8712.0下的版本有一些bug需要修复,喜欢network connection stability issue。

    所以我建议您可以将当前的 StackExchange.Redis (V1.2.6) 升级到最新的稳定版 2.x 并再次尝试您的代码。同时,请注意Azure/aspnet-redis-providersRelease Notes 以制作正确且兼容的版本以支持您当前的代码。

    【讨论】:

    • 遗憾的是,2.+ 包还存在我无法解决的其他问题(请参阅this)。总之,即使在使用Nuget下载包和依赖的时候,还是找不到某些特定版本的dll(比如System.Memory
    • 已更新(通过 大量 的努力)到 2.0+ 软件包,现在我遇到了完全相同的问题 :(
    猜你喜欢
    • 2016-03-14
    • 2018-05-06
    • 1970-01-01
    • 2014-05-20
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    相关资源
    最近更新 更多