Junior — Senior
In‑memory cache for user profiles and their orders
livecode
Условие задачи
Реализуйте кеш в памяти, который по заданному ключу возвращает профиль пользователя вместе со списком его заказов.
Требования:
- Кеш должен поддерживать TTL (время жизни) для сохранённых записей.
- Кеш должен быть доступен из любой функции, обрабатывающей заказы.
- Предоставьте сценарии тестирования, демонстрирующие поведение кеша.
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")
}