redis指令碼使用Lua直譯器執行

2021-09-19 22:51:15 字數 639 閱讀 1845

redis在2.6之前,指令碼使用lua直譯器來執行指令碼,2.6之後內嵌了lua環境,執行指令碼命令使用eval.

evla命令語法: eval script numkeys key [key …] arg [arg …]

eval "return " 2 key1 key2 first second

1) "key1"

2) "key2"

3) "first"

4) "second"

eval常用指令碼命令:

命令描述

eval script numkeys key [key …] arg [arg …]

執行 lua 指令碼

evalsha sha1 numkeys key [key …] arg [arg …]

執行 lua 指令碼

script exists script [script …]

檢視指定的指令碼是否已經被儲存在快取當中

script flush

從指令碼快取中移除所有指令碼

script kill

殺死當前正在執行的 lua 指令碼

script load script

將指令碼 script 新增到指令碼快取中,但並不立即執行這個指令碼

Redis使用lua指令碼

版本 自2.6.0起可用。時間複雜度 取決於執行的指令碼。使用lua指令碼的好處 命令格式 eval script numkeys key key arg arg 說明 簡單例項 127.0.0.1 6379 eval return ar 1 0 100 100 127.0.0.1 6379 eva...

Redis使用lua指令碼

版本 自2.6.0起可用。時間複雜度 取決於執行的指令碼。使用lua指令碼的好處 命令格式 copy eval script numkeys key key arg arg 說明 簡單例項 copy 127.0.0.1 6379 eval return ar 1 0 100 100 127.0.0....

Redis中使用lua指令碼

公司中的爬蟲專案作為乙個接盤來的專案,專案中大致流程是,把要抓取的資料匯入到redis中,然後不斷pop再去抓取。為了避免redis中的資料丟失,大哥採取的是先pop再將拿到的資料通過set的形式在redis中記錄下來。redis client redis.redis 127.0.0.1 decod...