Greg Young — винахідник CQRS вже 17 жовтня на Highload fwdays онлайн конференції
×Закрыть

Кеширование браузером JS

Как надежно отключить на сервере при помощи php?

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

На самом деле кешировать JS надо, и если проблема состоит в том, что на клиентах остаётся устаревший код после публикации новой версии, то решается это добавлением случайного хэша в имя JS файла. Это делается автоматически многими билд системами. От используемого языка программирования эта техника не зависит. Саму же стратегию кэширования правильно реализовывать с помощью response header Cache-Control.

Мое кеширование за ночь удалило скрипты и стили. Поржал. Исправил.

не мешай идиотам засирать копиями одного и того же файла жесткие диски пользователей. потом работа будет, job security же

Вот так сделал:

function rename_($n) {

		$path = $n;
		$arr2 = array();

			$arr = scandir($path);
			foreach($arr as $key => $value)
			{
				$dir = $arr[$key];
					
				if(is_dir($path.'/'.$dir)) continue;
				if($dir == ".ticket") continue;
				if(preg_match("/main.*[.]".$n."/",$dir)>0)
				{
					$txt = file_get_contents($path.'/'.$dir);
					$arr2[] = "".$path.'/'.$dir;
					
				}
								
			}
			
			if(count($arr)>5) {
					unlink($arr2[2]);
					unlink($arr2[3]);
			}
			
			$t = time();
			file_put_contents($path.'/main_'.$t.".$n",$txt);
			return $t;
		
}



А ты кого хотел тут увидеть? Путь в тысячу ли начинается с первого шага, но этот не мой путь. Я не программист, я видящий. Или ясновидящий, если хочешь. Увижу — вроде работает и записываю, пока в нави. А когда выхожу из нави, сам не понимаю, как оно работает. Навь и явь отношения между ними запутали все человечество. Я сам запутался в своем бреде и поэтому решил его поймать в нейронную сеть, где все отношения узаконены семантиками. М -> А ->М->А будет «мама» и все это знают. Но знают ли они, почему именно эти четыре буквы обозначают маму?

Олег, я б дуже хотів познайомитись із твоїм дилером.

Он в кино снимается. Морфеем зовут.

Прямо на HTTP сервере или в самом PHP сделай время кеширования, там чистый RTFM и копипаста. В том числе нулевое, если тебе ради тестирования.

На боевом серваке крайне нежелательно отключать кеширование, как только у тебя имеется сколь-либо ощутимая нагрузка. Куда проще сделать лишнюю переменную в ссылке, например &version=01, и уже по мере желания апдейтнуть файл на стороне юзера — накручиваешь эту версию. Здесь важно чтобы самый первый элемент в цепочке вызовов не кешировался (обычно это очень маленький файл), а лучше кешировался на непродолжительное время (например, 1 час) — и уже в нём будешь вызывать основной скрипт и накручивать версию.

Это самые азы highload: кеширование рулит всегда.

Забудь. Я зацепил очень сложную штуку, чтобы оставаться кодером. Я дилетант в этом.
А штука такая:
Существует ведь XML моделирование? А есть моделирование по типу MVC — мое — и вот каким образом оно работает:
У тебя есть начальный набор активных элементов. Это множество А1.
Выбор производится пользователем, выбор одного элемента из этого множества.
На элемент установлен триггер. Его срабатывание приводит к выводу отфильтрованного множества А2.
(Screen -> Click -> Result -> Next Screen, where any screen is set of activity)
Это предельно простая схема организации сетей и графов и графов сетей. Это гранты, гранты, гранты.
Я не шутил, когда предложил тебе организовать все это.
Сам я вижу это как генератор нейронных связей.
Чем абстрактнее схема тем большему количеству всякого разного она подходит.
Можно набросать азбуку, можно шахматы (со множеством записанных партий) можно мультиязычный сразу словарь.
Мне нужно 60 тысяч гривен — я ведь в долг работал лет пять. А пока у меня нет возможности и способностей кстати тоже, чтобы эту г_л_у_б_и_н_у осилить.
P.S.
Я читал Лукьяненко давно, может оттуда что-то и подхватилось.
P.P.S.
Это информационная бомба. Я в каком-то смысле террорист. Но как мне убедить-то?

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

Инглиш?

Мне нужно 60 тысяч гривен

Мне тоже не помешают

Я ведь в долг работал лет пять.

Это как? Кто тебе этот долг дал? Это теперь его проблемы?
И если не секрет, что ж ты такое наработал за 5-то лет?

Вот это ruscorpora.ru можно будет загрузить в то, что я уже почти сделал.
И википедию тоже можно.
Я уже делал из миллиона строк сайт каталог. Но то было давно и сайт тот потерял мои доступы. А я его.

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

И спасибо за азы, но я уже по горло сыт программированием. Я свой проект вижу уже целиком, но реализованным 100% не мной. И с модератором — специалистом по работе с трудными подростками (если речь пойдет только о моем многострадальном квесте).

Да это разве по горло? Ты и на полшишечки не влез в профессию. Тут этого дерьмища выше крыши, и акваланг не поможет.

В твоём случае вопрос решался гуглением в один тык.

Добавить рандомный хеш к имени файла / или query parameter ?Date.now(), но лучше имя файла

Пофиксил, спасибо. Использовал time()

Посмотрел, установил — не заработало. Не стал время тратить на вопрос — почему не заработало. Решил что проще по той же примерно схеме написать с 0 самому. Написал сам. Спасибо за материал.

Подписаться на комментарии