Встречается на собеседованиях • сегодня
Как реализовать кэширование
Для кэширования в 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"))
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы