去年年初工作时的一篇记录。
遇到一个关于 Redis 集群模式下的问题,是阿里云对 Lua 脚本的限制导致的,但是 node-redlock 包把错误吞掉了,抛出了一个重试失败的错误,导致我定位了好久…
被吞掉的错误信息:
-ERR bad lua script for redis cluster, all the keys that the script uses should be passed using the KEYS array解决方式
- 在阿里云后台关闭
script_check_enable这个设置。 - 或者改造脚本,只向 Redis 传递对 KEYS 的引用,而不是变量。
反思自我的问题
未知的错误,网上搜索不到直接的解决方案,加上定位问题的时间不够,导致我没有定位问题的耐心,非常焦躁,希望有人可以帮我解决掉问题...
另一方面没有从原理的角度去思考,node-redlock 只是调用 Redis 的库,他的问题会有哪些地方。