Sobes.tech
Junior — Senior

In‑memory cache for user profiles and their orders

livecode

Условие задачи

Реализуйте кеш в памяти, который по заданному ключу возвращает профиль пользователя вместе со списком его заказов.

Требования:

  1. Кеш должен поддерживать TTL (время жизни) для сохранённых записей.
  2. Кеш должен быть доступен из любой функции, обрабатывающей заказы.
  3. Предоставьте сценарии тестирования, демонстрирующие поведение кеша.
package main

import (
    "log"
    "time"
)

type UserProfile struct {
    UUID   string
    Name   string
    Orders []Order
}

type Order struct {
    UUID     string
    CreateAt time.Time
    UpdateAt time.Time
    Basket   interface{}
}

func main() {
    result := 2 + 2
    if result != 4 {
        log.Fatalf("expected 4, got %d", result)
    }

    log.Println("Tests passed")
}