Eri*_* Wu 5 redis stackexchange.redis azure-redis-cache
我正在尝试在 ASP.NET WebForms 应用程序 (4.7.2) 中实现 Redis。我从https://github.com/Azure/aspnet-redis-providers下载了 SessionProvider 源代码。我正在使用 StackExchange.Redis 2.0+ 。
执行登录后,抛出此错误:
显然,尝试了eval一些Lua脚本,但失败了(这是StackExchange.Redis相关问题关闭的结论)。
所以,假设这个假设是正确的,我提取了有问题的脚本,并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
Run Code Online (Sandbox Code Playgroud)
它成功了。
是否还有其他问题可能引发此异常?
编辑:升级到 2.0。仍然遭受同样的问题。
| 归档时间: |
|
| 查看次数: |
1798 次 |
| 最近记录: |