/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/lua/nosql-5-001/main.lua
16 строк
445 B
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
local key = KEYS[1] local window = tonumber(ARGV[1]) local limit = tonumber(ARGV[2]) local req_id = ARGV[3] local t = redis.call('TIME') local now = t[1] * 1000 + math.floor(t[2] / 1000) local min_score = now - window redis.call('ZREMRANGEBYSCORE', key, 0, min_score) local count = redis.call('ZCARD', key) if count < limit then redis.call('ZADD', key, now, req_id) redis.call('PEXPIRE', key, window) return count + 1 end return -1