use redis_lua::{lua, lua_s};
fn main() {
let client = redis::Client::open("redis://127.0.0.1/").unwrap();
let mut con = client.get_connection().unwrap();
let value = 10;
let weight = 2;
let msg = "Calc";
let script = lua!(
local res = @weight * @value;
return @msg..": "..@value.."*"..@weight.."="..res;
);
let v: String = script.invoke(&mut con).unwrap();
println!("return: {}", v);
let v: u32 = redis::Script::new(lua_s!(
local a = ARGV[1];
local b = ARGV[2];
return a + b;
))
.arg(310)
.arg(42)
.invoke(&mut con)
.unwrap();
println!("return: {}", v);
let script1 = lua!(
local v = $a * $b
if v > 80 then
return v .. " > 80"
else
return v .. " <= 80"
end
);
let script2 = lua!(
local v = $a * $b * $c
if v > 50 then
return v .. " > 50"
else
return v .. " <= 50"
end
);
for i in 0..4 {
let r: String = script1.clone().a(15).b(i).invoke(&mut con).unwrap();
println!("{}", r);
}
for i in 0..4 {
let r: String = script2.clone().a(15).b(i).c(3).invoke(&mut con).unwrap();
println!("{}", r);
}
}