Sliding Window Log Algorithm

def sliding_window_log(user_id, limit=100, window=3600):
    now = time.time()
    key = f"requests:{user_id}"
    
    # ์ด์ „ ์š”์ฒญ ๊ธฐ๋ก ์ •๋ฆฌ
    redis.zremrangebyscore(key, 0, now - window)
    
    # ํ˜„์žฌ ์š”์ฒญ ์ˆ˜ ํ™•์ธ
    request_count = redis.zcard(key)
    
    if request_count < limit:
        redis.zadd(key, {str(uuid.uuid4()): now})
        redis.expire(key, window)
        return True
    return False