redis環境執行lua指令碼因未能正確設定全域性變數(global variable
)而丟擲錯誤,導致程式終止。
在zerobrane studio工具中使用redis環境執行如下lua指令碼:
--下面指令碼的意圖是
--分別在redis中設定鍵t1、t2的值為11、22
tb=for k,v in
pairs
(tb)
do redis.
call
("set"
,k,v)
end
程式終止,丟擲如下錯誤:
error running script (call to f_f80b4331635cd420f43151b6b50e76a90e6da1a2): @enable_strict_lua:8
e:\documents\lua\3.lua:1: script attempted to create global variable 'tb'
將全域性變數改為區域性變數即可正常執行。
local tb=
這個錯誤有點低階,特此記錄,以免再犯。
end
lua遊戲開發易錯踩坑錄
一。local local函式一定要在呼叫之前定義 切記,不然會報錯或者不能呼叫該函式 情況1 監聽調此函式後定義 base.model addlistener 被監聽的函式 監聽成功的 函式 local function 監聽成功的 函式 處理 end上面 執行遊戲將會報如下錯 二。協程 停止協程...
Redis指令碼外掛程式之 執行Lua指令碼示例
redis在2.6推出了指令碼功能,允許開發者使用lua語言編寫指令碼傳到redis中執行。使用指令碼的好處如下 在redis客戶端機器上,新建乙個檔案ratelimiting.lua,內容如下 local times redis.call incr keys 1 if times 1 then r...
redis 集群 踩坑
場景 redis集群三主三從,jedis接入,只配置三個主節點 問題 服務更新部署,發現連不上redis集群.包connection refused.排查 首先確定redis節點是否存在問題,redis cli在當前伺服器沒有安裝,使用telnet ip port進行測試,發現三個節點中部分節點存在...