Минные поля в функциях filectime(), filemtime() и unlink().

ustas

Элекомист №1
Минные поля в функциях filectime(), filemtime() и unlink().

в справке php начертано

int fileatime ( string filename )

Возвращает время, когда в последний раз был осуществлен доступ к указанному файлу, или FALSE в случае ошибки.
Время возвращается в формате 'Unix timestamp'.
Примечание: Проедполагается, что время последнего доступа файла изменяется во время чтения блоков файла.
Это может потребовать значительного количества системных ресурсов, особенно когда приложение обращается к большому числу файлов или каталогов. С целью увеличения производительности, некоторые файловые системы
на платформах Unix могут быть примонтированы с отключенной возможностью обновления времени последнего доступа к файлам, примером этого могут служить каталоги для хранения сообщений USENET. В подобных случаях использование данной функции бессмысленно.


1.) Вопрос админам и хостерам *nix, относится ли все выше написаное к функциям filectime, filemtime
Вернее можно ли надеется на то, что эти функции вернут правильное значение, и запись о времени последнего изменения файла (или создания) не cможет отключить хостер?

2.) Вопрос к остальным. Если может, тогда как грамотней решить задачу получения информации о времени изменении (создания) файла?

3.) Есть ли подводные камни в реализации подмены файлов при таком кешировании (при нагрузке более 5 запросов в секунду)
Код:
 @unlink($file); 
 
 $res = rename($tmp_file, $file);       
 
 @unlink($tmp_file);
4.) Теория. Куда еще в теории можно быстро писать кеш. И так же быстро читать (кроме fs) без большой нагрузки на сервер? sql db неподходит, с нее нагрузку и снимаем.


Любителям попинать. Поиском не нашел и google не знает.
 

zerkms

TDD infected
Команда форума
1. эти функции будут возвращать всё хорошо
2. так и решай - filectime, filemtimу
4. мемкэш
 

ustas

Элекомист №1
Спасибо, обнадежил. А то чуть класс не переписал.
Мемкеш хорошо, но в силу причин неподойдет. Значит пока файлы.
 
Сверху