2016-11-23 43 views
1

在Lua腳本中,我正在進行一些redis調用,並且還希望將一些文本數據寫入文件。 但是當我使用'--eval'從redis執行這個lua腳本時,它無法識別'io'或'require'庫,因此無法執行。
如果你可以告訴我,當我從redis調用lua腳本時,是否有方法可以將數據寫入到lua中的文件中。當我使用redis執行lua腳本時,無法將數據寫入文件--eval選項

注意:我正在執行命令: '/選擇/ redis的/ SRC/redis的-CLI -p 6379 --eval test.lua'

在test.lua

,它失敗在行:「文件= io.open(「output.txt的」,「一個」)「
它讓我看到錯誤消息:腳本試圖訪問unexisting全局變量‘IO’

回答

0

閱讀在Redis的使用Lua中的文檔 - 它在EVAL命令下。

具體來說,請注意,Redis'Lua是沙箱,只提供了一部分庫。 io庫不是該子集的一部分。

+0

非常感謝你的回覆。是的,我已經通過你提到的文檔,也是這個文檔以及https://www.redisgreen.net/blog/intro-to-lua-for-redis-programmers/ 我想問是否有任何這樣我就可以讓這個'io'庫成爲Redis'Lua的一部分。 另外,有關信息,我已經從最新的可用RPM中分別在我的機器上安裝了lua。 –

+0

爲簡單起見,可預測性和安全性目的,故意刪除這些庫。將它們引入的唯一方法是分叉Redis的源代碼並進行更改。 –

+0

好的,非常感謝您的及時回覆。 –