為了保證多條命令組合的原子性,Redis提供了簡單的事務功能以及集成Lua腳本來解決這個問題,本文介紹Lua,事務已經在前一篇文章介紹過了
一、Lua概述
Lua語言是在1993年由巴西一個大學研究小組發明,其設計目標是作為嵌入式程序移植到其他應用程序,它是由C語言實現的,雖然簡單小巧但是功能強大
所以許多應用都選用它作為腳本語言,尤其是在游戲領域,例如大名鼎鼎的暴雪公司將Lua語言引入到“魔獸世界”這款游戲中,Rovio公司將 Lua語言作為“憤怒的小鳥”這款火爆游戲的關卡升級引擎,Web服務器Nginx 將Lua語言作為擴展,增強自身功能
Redis將Lua作為腳本語言可幫助開發者定制自己的Redis命令,在這之前,必須修改源
二、Lua的基本語法
現在先簡單地介紹一下Lua的基本語法(只介紹部分語法),與Redis無關,純屬于Lua的語法
數據類型
Lua語言提供了如下幾種數據類型:booleans(布爾)、numbers(數值)、strings(字符串)、tables(表格),和許多高級語言相比,相對簡單
全局變量/局部變量
local代表val是一個局部變量,如果沒有local代表是全局變