我已经使用C#将StackExchange安装为我的API的Redis客户端,我按照本教程中的所有步骤进行操作:http://tostring.it/2015/04/23/An-easy-way-to-use-StackExchange-Redis%20copy/
当我向服务器发出请求时,我收到此错误:
消息:"发生了错误。",
ExceptionMessage: "ERR Error compiling script (new function): user_script:1: unexpected symbol near ')' ",
ExceptionType: "StackExchange.Redis.RedisServerException",
StackTrace: " a StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T](Message message ResultProcessor`1 processor, ServerEndPoint server) in c:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\R edis\ConnectionMultiplexer.cs:line 1935
at StackExchange.Redis.RedisBase.ExecuteSync[T](Message message,ResultProcessor`1 processor, ServerEndPoint server) in c:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\RedisBase.cs:line 80at StackExchange.Redis.RedisDatabase.ScriptEvaluate(String script, RedisKey[] keys, RedisValue[] values, CommandFlags flags)
在c:\ TeamCity \ buildAgent \ work \ 3ae0647004edff78 \ StackExchange.Redis \ StackExchange \ Redis \ RedisDatabase.cs:第873行 at StackExchange.Redis.Extensions.Core.StackExchangeRedisCacheClient.GetAll [T](IEnumerable`1 keys)
我发帖时收到了这个错误。可以请指教,谢谢你
答案 0 :(得分:1)
据推测,此错误来自第三方代码(StackExchange.Redis.Extensions,它不是StackExchange.Redis的一部分 - 它只是使用它)在CreateLuaScriptForMget
方法中生成无效的Lua。对我来说为什么它正在做这些事情并不是很明显,因为已经有一个varadic mget
方法可以正确执行 ,没有随时触摸Lua。我不会尝试修复第三方代码,但如果我是:我将替换使用CreateLuaScriptForMget
的任何代码,而不是代码使用RedisValue[] IDatabase.StringGet(RedisKey[] keys, ...)
API,将在内部使用mget
。
答案 1 :(得分:0)