Встречается на собеседованиях • сегодня

Как реализовать кэширование

Для кэширования в Python можно использовать functools.lru_cache для мемоизации функций или внешние решения типа Redis.

Пример с lru_cache:

python
from functools import lru_cache

@lru_cache(maxsize=128)  # maxsize ограничивает кол-во кэшированных результатов
def expensive_func(n):
    print(f"Вычисляю для {n}...")
    return n * n

print(expensive_func(5)) # Вычисляет и кэширует
print(expensive_func(5)) # Берёт из кэша

text

**Плюсы:**  
- Простота, встроено в стандартную библиотеку.  
- Автоматическое удаление старых записей при переполнении.  

**Минусы:**  
- Только для хешируемых аргументов.  
- Кэш живёт только в памяти процесса.  

Для распределённого кэша используйте Redis или Memcached. Пример с Redis:  
```python
import redis

r = redis.Redis()
r.set("key", "value", ex=60)  # ex=TTL в секундах
print(r.get("key"))
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы