Не, я не про кэш, у меня в файл пишутся статистические данные, неплохо бы, чтобы они были точными.
Но при этом при нагрузках всё выше вероятность проблем с потерей данных. Причем, эта вероятность не исчезает полностью - сбой может произойти и при маленькой нагрузке. Не слишком ли дорого обходятся эти микросекунды? Да и не очевидно, если честно.
ewg777, любая БД так работает, насколько мне известно, но причём здесь базы в этой теме? :)
Как страшно жить :)
Что может быть ужаснее смерти близкого человека?
Не знаю, зачем такая тема и кому интересно чужое горе.
А убирать за собой не пробовали?
Написал маленько негатива про LendMoney, пришёл Захар Боул.
Написал про А1, пришли представители.
2 случая, только толка нет никакого — ничего не меняется.
Raspberry, а у вас просто любопытство, или готовите что-то?
netwind, не вспомнил, но подумал сейчас, и вижу одну проблему: c rename теоретически может случиться так, что более старые данные перезапишут более новые. Чтобы этого не происходило, надо блокировать файл, но тогда уже и raname вроде ни к чему :) Возможно, я не прав, тогда объясните почему.
BrokenBrake добавил 03.11.2009 в 19:35
Вообще, если честно, я удивлён, что нужны эти блокировки. Я раньше почему-то был уверен, что PHP должен сам понимать, что если мы пишем файл, не нужно допускать ситуаций с его чтением в тот же момент. То есть я всерьез считал, что эти все блокировки делаются автоматически. И вот, ошибся. Но почему так?
Кто нибудь может сказать, для чего может понадобиться специально чтение/запись без блокировок?
ewg777, спасибо! Зря я значит переделывал свой код с одной удобной строчки на несколько неудобных.
А где именно про это написано? Я читал здесь - http://docs.php.net/manual/ru/function.file-put-contents.php
Там есть параметр resource $context, но ничего не говорится, что в качестве этого параметра может быть блокировка файлов.
Ну блин. Это же техническая тема. Неужели так трудно перечислить эти минусы, если вы знаете о них? Давайте обсудим.
stack, для моих целей вообще не подойдёт, так как продукт должен ставиться пользователем с минимальной подготовкой на максимальное количество всевозможных серверов. Думаю, Memcached не везде есть.