var script = @"local current
current = redis.call('incr', @key)
if current == 1 then
redis.call('expire', @key, @seconds)
end
return current";
var result = multiplexer.GetDatabase().ScriptEvaluate(LuaScript.Prepare(script), new {key = (RedisKey)key, seconds = TimeSpan.FromSeconds(5) });