在Redis中编写Lua脚本时如何包含第三方库

我正在使用Redis Lua脚本来完成一些与货币相关的模块(http://redis.io/commands/eval)。 不幸的是,Redis Lua不支持大十进制类型。 我通过互联网找到了一些支持lua的十进制库,比如lmapm。但不幸的是,我不知道如何安装它以在Redis脚本中使用。

对于一个普通的问题,我该如何为Redis脚本安装第三方库(例如https://github.com/amakawa/ohm.lua),因为Redis脚本似乎不理解Lua的一些基本函数,如“module”,并且有一些限制,如没有全局变量和函数…

请帮助我解决这个问题。 我搜索了几天但找不到任何解决方案。 非常感谢,我真的很感激!

点赞
用户3160475
用户3160475

你不能- Redis的Lua引擎不支持使用外部库。

唯一的方法是重构库并将其转换为Redis脚本,以便您可以运行它。重构后的脚本可以成为您脚本的一部分,或者您可以使用一个未记录的功能SCRIPT LOAD把它加载并从您的脚本中调用它-在您的脚本中调用函数f_sha1,其中sha1是库脚本的sha1哈希(但请确保您首先SCRIPT LOAD库脚本)。

2015-07-07 06:45:04