Кэширование метки времени - PullRequest
0 голосов
/ 01 апреля 2012

У меня есть проект, в котором я создаю файл, а также получаю время создания файла, используя: -

stat("C:/repos/trunk/logging/test.log",&attrib);

Я хочу кэшировать последнюю отметку времени, чтобы не использовать ее для каждого сообщения журнала.

Пожалуйста, предложите помощь.

Спасибо

1 Ответ

0 голосов
/ 01 апреля 2012

stat не дает вам время создания файла. Это дает вам время изменения файла, время доступа и время изменения inode.

Вы, безусловно, можете кешировать эту информацию, если хотите, при условии обычных проблем с кешированием, то есть вы рискуете получить устаревшие данные в кеше, если файл был изменен, и вы не проверяете достаточно скоро.

Если ваша программа однопоточная и вы имеете дело только с одним файлом, вы можете использовать, например, переменную static. В противном случае вы можете захотеть создать объект (в смысле OO), который хранит кэшированную метку времени и TTL для кэшированного значения как внутреннее состояние и предлагает методы для запроса и / или обновления значения.

...