踩坑錄 Redis執行Lua腳本報錯

2021-09-02 14:44:52 字數 630 閱讀 3342

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進行測試,發現三個節點中部分節點存在...