public function decr($key, $val = 1, $lessZero = false)
{
if ($lessZero) {
$luaScript = <<<LUA
if tonumber(redis.call("get", KEYS[1])) > 0 then
return redis.call('decrBy', KEYS[1], ARGV[1])
else
return false
end
LUA;
//
$res = $this->redis->eval($luaScript, [$key, $val], 1);
} else {
//
$res = $this->redis->decrBy($key, $val);
}
//
return $res;
}