У хака есть атрибут <<__Memoize>>
, чтобы легко получить результаты кеша.Атрибут Memoize в языке взлома - тайм-аут кеша
Как я могу использовать его для кэширования результатов какой-либо базы данных или запроса API для ограниченного количества времени?
Скажем, мой код очень часто нуждается в некоторой информации из базы данных:
public function loadEmployees(
string $company_name,
): ImmSet<string> {
return $this->db->sqlQuery(...);
}
Для повышения производительности, я хотел бы кэшировать результаты в течение одной минуты.
Если данные меняются, моя программа должна увидеть их в течение минуты. Я в порядке, когда результаты устаревают в течение одной минуты.
Проверен official docs.
Тогда Memoize отлично, спасибо! Я предположил, что он кэширует всю жизнь VM. Это может использовать много памяти, но документы говорят, что кеш может быть автоматически очищен, если это необходимо. –
Теперь в документах говорится: «Атрибут __Memoize позволяет функциям или методам кэшировать свои результаты в течение всего заданного запроса». –