ERR错误编译脚本(新功能):user_script:1:意外符号附近')'

时间:2015-08-24 11:38:09

标签: stackexchange.redis

我已经使用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)

我发帖时收到了这个错误。可以请指教,谢谢你

2 个答案:

答案 0 :(得分:1)

据推测,此错误来自第三方代码(StackExchange.Redis.Extensions,它不是StackExchange.Redis的一部分 - 它只是使用它)在CreateLuaScriptForMget方法中生成无效的Lua。对我来说为什么它正在做这些事情并不是很明显,因为已经有一个varadic mget方法可以正确执行 ,没有随时触摸Lua。我不会尝试修复第三方代码,但如果我是:我将替换使用CreateLuaScriptForMget的任何代码,而不是代码使用RedisValue[] IDatabase.StringGet(RedisKey[] keys, ...) API,将在内部使用mget

答案 1 :(得分:0)

我已经更改了AddAll / GetAll删除Lua脚本的方法,并将StringGet / StringSet与特定数组一起使用(here提交)

它部署在Nuget here上 问题应该解决,让我知道。

感谢您的支持