Добавьте только нужные свойства: ограничение памяти, eviction, TTL, безопасный конкурентный доступ и защиту от одновременной загрузки одного ключа.
Если бы нужно было реализовать более сложный собственный cache без внешних решений, что бы вы изменили?
Добавьте только нужные свойства: ограничение памяти, eviction, TTL, безопасный конкурентный доступ и защиту от одновременной загрузки одного ключа.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Добавьте только нужные свойства: ограничение памяти, eviction, TTL, безопасный конкурентный доступ и защиту от одновременной загрузки одного ключа.
Уточните семантику устаревших значений и ошибок источника. Для больших нагрузок можно разделить locks по шардам, но сначала измерьте contention. Метрики hit rate, eviction и времени загрузки важнее количества возможностей. Возвращаемые изменяемые объекты требуют правил копирования или владения.