数据类型
local strings val = "world"
local strings val = "world"
local strings val = "world"
printf(val)
-- 注释
local tables myArray = {"redis", "jedis", true, 88.0}
-- trueprint(myArray[3])
local int sum = 0
for i = 1, 100dosum = sum + iend
-- 输出结果为5050print(sum)
for i = 1, #myArraydoprint(myArray[i])end
for index,value in ipairs(myArray)doprint(index)print(value)end
local int sum = 0local int i = 0
while i <= 100dosum = sum +ii = i + 1end
--输出结果为5050print(sum)
local tables myArray = {"redis", "jedis", true, 88.0}
for i = 1, #myArraydoif myArray[i] == "jedis"thenprint("true")breakelse--do nothingendend
local tables user_1 = {age = 28, name = "tome"}--user_1 age is 28print("user_1 age is " .. user_1["age"])
for key,value in pairs(user_1)do print(key .. value)end
function funcName()...end
-- contact函数将两个字符串拼接:function contact(str1, str2)return str1 .. str2end
--"hello world"print(contact("hello ", "world"))
eval 脚本内容 key个数 key列表 参数列表
eval 'return "hello " .. KEYS[1] .. ARGV[1]' 1 redis world
evalsha 脚本SHA1值 key个数 key列表 参数列表
return "hello " .. KEYS[1] .. ARGV[1]
redis-cli script load "$(cat lua_get.lua)"
evalsha 7413dc2440db1fea7c0a0bde841fa68eefaf149c 1 redis world
redis.call("set", "hello", "world")redis.call("get", "hello")
pcall()
log()
RPUSH host:user:list user:1:ratio user:8:ratio user:3:ratio user:99:ratio user:72:ratio
lrange host:user:list 0 -1
set user:1:ratio 986set user:8:ratio 762set user:3:ratio 556set user:99:ratio 400set user:72:ratio 101
-- 将列表中所有元素取出,赋值给mylistlocal mylist = redis.call("lrange", KEYS[1], 0, -1)
-- 定义局部变量count=0,这个count就是最后incr的总次数local count = 0
-- 遍历mylist中所有元素,每次做完count自增,最后返回countfor index,key in ipairs(mylist)doredis.call("incr",key)count = count + 1endreturn count
redis-cli --eval lrange_and_mincr.lua host:user:list
mget user:1:ratio user:8:ratio user:3:ratio user:99:ratio user:72:ratio
script load script
scripts exists sha1 [sha2 …]
script flush
script kill