Invis1ble
25.03.2015 - 00:08
оптимизация рабочего времени - это писать систему кэширования, когда она становится нужна
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
sergeiss
25.03.2015 - 00:16
Так в том и фигня, что потом это потребует больше времени.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Invis1ble
25.03.2015 - 00:19
необязательно, если с самого начала писать - у тебя будет больше кода, который сложнее читать, вносить изменения и дебажить, например
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
Цитата (Invis1ble @ 24.03.2015 - 23:55) |
Цитата (Arh @ 24.03.2015 - 22:50) | cache::set('menu',$menu); |
хорошо, когда уже написана реализация cache::set(), можно удобно прикрыться абстракцией на форуме, мол, посмотрите, как всё просто! :D
|
Да чё там реализовывать =)
static function get ($key = '') {
$file = ROOT.'/cache/'.md5($key).'.cache';
if(file_exists($file)) {
return file_get_contents($file);
}
}
static function set ($key = '', $value = '') {
$file = ROOT.'/cache/'.md5($key).'.cache';
file_put_contents($file,$value);
}
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Invis1ble
25.03.2015 - 00:21
Цитата (Arh @ 24.03.2015 - 23:20) |
#Сохранение кеша static function set ($key = '', $value = '') {
$file = ROOT.'/cache/'.md5($key).'.cache'; file_put_contents($file,$value);
} |
Цитата (Invis1ble @ 25.03.2015 - 00:21) |
Цитата (Arh @ 24.03.2015 - 23:20) | #Сохранение кеша static function set ($key = '', $value = '') {
$file = ROOT.'/cache/'.md5($key).'.cache'; file_put_contents($file,$value);
} |
удачи при дебаге гейзенбагов |
Спасибо конечно, но что не так?
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Invis1ble
25.03.2015 - 00:35
я ранее написал, что не так все просто
ты не учитываешь многопоточную суть веба
начни отсюда:
google -> race condition
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
Цитата (Invis1ble @ 25.03.2015 - 00:35) |
я ранее написал, что не так все просто ты не учитываешь многопоточную суть веба
начни отсюда: google -> race condition |
Тогда так
file_put_contents($file,$value,LOCK_EX);
В любом случае реализация cache::set() это предмет другой дискуссии.
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
gam0ra
25.03.2015 - 18:12
Всем спс за ответы!!
Я сделал так у меня был сложный запрос SQL где участвовали 3 базы Были Join'ы (это поиск на сайту с разными параметрами)
Вот всю выборку я прогнал через json_encode(); и поместил в фаил с расширением .php (название файла с кэшом связал с id сесией)
Так как у меня постраничная навигация и не хочется чтобы каждый раз выпонялся этот SQL запрос
Я теперь выборку которая была выполнена 1 раз дергаю из файла и при помощи json_decode() обратно превращаю в массив и выбираю)
еще хотел сделать проверку целый ли кэш но подумал это лишнее)
Invis1ble
25.03.2015 - 22:23
gam0raты задрал со своей анимированной аватаркой
я только предыдущую заблочил adblock'ом, так ты новую поставил
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
paul85
25.03.2015 - 22:37
Цитата (Invis1ble @ 25.03.2015 - 22:23) |
я только предыдущую заблочил adblock'ом, так ты новую поставил |
Ой, как хорошо! Спасибо за подсказку, а то аж дурно делается от этого красного мельтешения!

Цитата (sergeiss @ 24.03.2015 - 23:57) |
Arh правильно говорит и про сайтмап, и про меню (а также во многих других случаях) - лучше один раз перегенерить |
sergeiss, ну а как быть с моими расчетами, которые как бы намекают на то, что во многих проектах кэширование вообще не имеет никакого смысла? Вплоть до 10к уников в сутки. Зачем беречь ресурсы, которых итак выше крыши? Ну уйдут они в idle, что с экономической точки зрения просто чудовищно.
Цитата (gam0ra @ 25.03.2015 - 18:12) |
Так как у меня постраничная навигация и не хочется чтобы каждый раз выпонялся этот SQL запрос |
Цитата (gam0ra @ 25.03.2015 - 18:12) |
Я теперь выборку которая была выполнена 1 раз дергаю из файла и при помощи json_decode() обратно превращаю в массив и выбираю) |
Ага, то есть вот у меня интернет-шоп где 80к товаров. И я такой беру и все их загружаю в RAM. Причем при каждом обращении... Это любопытно! То есть вычислительный ресурс нам жалко, а RAM не жалко? Интересно-интересно!

Тогда создавайте еще одну таблицу, и туда кидайте, а не в файл. А то получается совсем уж лажа... Пардон за извините.
sergeiss
25.03.2015 - 23:42
Цитата (paul85 @ 25.03.2015 - 22:37) |
ну а как быть с моими расчетами, которые как бы намекают на то, что во многих проектах кэширование вообще не имеет никакого смысла? Вплоть до 10к уников в сутки. Зачем беречь ресурсы, которых итак выше крыши? Ну уйдут они в idle, что с экономической точки зрения просто чудовищно. |
Тут вопрос не только в кэшировании, но и просто в четкости структуры проекта

Я просто сам также иногда делаю, т.е. редко изменяемые данные обрабатываю сразу же после редактирования, а потом они берутся в уже готовом виде в определенном месте (будь это массив ПХП, просто текстовый файл или еще что-то). И я считаю, что это верно. Это своего рода "унификация". Да, может быть и не будет временного выигрыша при определенных условиях, но зато структура будет четко определенной. И не надо будет ставить лишних условий там, где они именно лишние, по здравому размышлению.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)