local key_prefix = ARGV local key_delimeter = ARGV local subscriber = ARGV local time_expire = ARGV
redis.call(“expireat”, key_subscription_ids_by_subscriber(key_prefix, key_delimeter, subscriber), time_expire + 1)
local subscription_ids = subscription_ids_for_subscriber(key_prefix, key_delimeter, subscriber, “+inf”, “+inf”)
local i = 1 while(i <= subscription_ids) do
local subscription_id = subscription_ids[i] redis.call("zadd", key_subscribers_by_subscription_id(key_prefix, key_delimeter, subscription_id), time_expire, subscriber) expire_subscription(key_prefix, key_delimeter, subscription_id) i = i + 1
end