Форум → Программирование → Пыхнуть хотите? → Готовые решения → FileCache class ala dude.
FileCache class ala dude.
-
-
28 апреля 2009 г. 19:16, спустя 5 часов 48 минут 37 секунд
Спс, пригодилось =), а почему называешь говонокодом ? Оо
http://hell.phpdude.ru/archives/584
может кому пригодится. :) -
28 апреля 2009 г. 19:32, спустя 16 минут 20 секунд
phpdude, я в исходники не залезал ибо лень … объясни на пальцах, плиз …
Допустим какой-нибудь гиморный алгоритм долго что-то высчитывает, а потом результат сбрасывает в кеш …
Но! У нас может одновременно идти много обращений к этому срипту, таким образом пока первый процесс недосчитал т.к. кеша еще нет стартует второй, он тоже начинает считать и в свою очередь тормозит первый … дальше цепная реакция и сервер в дауне еще до того как сформирован кеш.
У тебя как-то решена эта проблема? -
28 апреля 2009 г. 20:36, спустя 1 час 3 минуты 36 секунд
AlexB, нет, там на столько глубоко не копано :)
там симпл, на 30 строк кода..все умрут, а я изумруд -
28 апреля 2009 г. 21:32, спустя 56 минут 13 секунд
такие задачи на локах решаются. то есть есть testid + testid.lock метки грубо говоря. когда начинается считать, то создается лок, и пока не досчитается лок не снимается.а экспайре функция проверяет этот лок и говорит что в кеше есть. если локед подсчет, то функция гет просто тупо while true с задержкой в н микросекунд пока не дождется результата и снятия лока. нет это не реализовано, ибо не для того этот говнокод)))))))
phpdude, я в исходники не залезал ибо лень … объясни на пальцах, плиз …
Допустим какой-нибудь гиморный алгоритм долго что-то высчитывает, а потом результат сбрасывает в кеш …
Но! У нас может одновременно идти много обращений к этому срипту, таким образом пока первый процесс недосчитал т.к. кеша еще нет стартует второй, он тоже начинает считать и в свою очередь тормозит первый … дальше цепная реакция и сервер в дауне еще до того как сформирован кеш.
У тебя как-то решена эта проблема?
но можно конечно и такой кеш умный организовать :)Сапожник без сапог -
28 апреля 2009 г. 21:33, спустя 1 минуту 33 секунды
да правильно. это простой кеш для не СИЛЬНО НАГРУЖЕНЫХ проектов))) где есть паралелньые сильно сложные задачи)
AlexB, нет, там на столько глубоко не копано :)
там симпл, на 30 строк кода..Сапожник без сапог -
29 апреля 2009 г. 0:00, спустя 2 часа 26 минут 59 секунд
Гмммм … а если лок-файл создался, а скрипт его создавший вылетел по каким-то причинам (таймаут, ошибка, питание) недоработав до конца. Все застрянет …
такие задачи на локах решаются. то есть есть testid + testid.lock метки грубо говоря. когда начинается считать, то создается лок, и пока не досчитается лок не снимается.а экспайре функция проверяет этот лок и говорит что в кеше есть. если локед подсчет, то функция гет просто тупо while true с задержкой в н микросекунд пока не дождется результата и снятия лока. нет -
29 апреля 2009 г. 0:23, спустя 23 минуты 5 секунд
AlexB, это форс-мажор :)
можно проверять "правдоподобность" ttl лок-файла думаю -
29 апреля 2009 г. 0:34, спустя 10 минут 31 секунду
да я думаю что тут только ттл, ибо больше никаг))) ЛИБО! чтобы время создания этого файла менялось со временем или тп, чтобы выдеть что активность какая то происходит. ну и можно в этот файл писать пид процесса апача который начал коллектить данные в кеш, если это процесса уже нет, то соответственно стирать нах и записывать свой лок файл :
Гмммм … а если лок-файл создался, а скрипт его создавший вылетел по каким-то причинам (таймаут, ошибка, питание) недоработав до конца. Все застрянет …
такие задачи на локах решаются. то есть есть testid + testid.lock метки грубо говоря. когда начинается считать, то создается лок, и пока не досчитается лок не снимается.а экспайре функция проверяет этот лок и говорит что в кеше есть. если локед подсчет, то функция гет просто тупо while true с задержкой в н микросекунд пока не дождется результата и снятия лока. нетСапожник без сапог -
29 апреля 2009 г. 10:07, спустя 9 часов 33 минуты 5 секунд
О, насчет пид идея интересная, надо будет поэксперементировать …
Чуть позже расскажу поподробнее, как у меня это примерно организовано. -
29 апреля 2009 г. 10:13, спустя 6 минут 9 секунд
давай. а то заебал флуд в разделе "для профи" ))))
О, насчет пид идея интересная, надо будет поэксперементировать …
Чуть позже расскажу поподробнее, как у меня это примерно организовано.Сапожник без сапог
Пожалуйста, авторизуйтесь, чтобы написать комментарий!