Как хранить JavaScript в качестве HTML -кода на веб -сайте

StackOverflow https://stackoverflow.com/questions/4463504

  •  11-10-2019
  •  | 
  •  

Вопрос

Я использую веб -формы и asp.net с MS SQL.

Для моего веб -сайта мне нужно хранить эти коды Belove, может быть, другие в будущем:

  • Google Analytic Code
  • Некоторые коды JavaScript
  • HTML -нижний колонтитул и заголовок для моего шаблона.

Мне нужно решение, которое можно централизовать, используйте кэш, легко обновить:

Здесь мои идеи, я хотел бы ваше мнение:

  • 01 Используйте базу данных с таблицей (таблица Configure), которая для каждой записи (VARCHAR) позволяет хранить эти шпинеты кода в качестве строки.
  • 02 Используйте простые текстовые файлы в определенной папке, чтобы я мог включить эти файлы в свой код. Я мог бы обновить коды, используя FTP и блокнот (вот я обеспокоен кешем).
  • 03 Используйте файл web.conf.
  • 04 Используйте текстовый файл, а класс, Wich, будет управлять хранением в кэше содержимого этого файла.

Любые идеи? Спасибо за ваше время.

Здесь я хотел бы выделить и полезную статью для этой темы:

http://nathanaeljones.com/153/performance-killer-disk-io/

Это было полезно?

Решение

Во -первых, в отношении ссылки на ссылку на блог Nathanael Jones, хотя диск IO намного медленнее, чем в операциях по памяти, большинство веб -сайтов не связаны с диском IO, и большинство его решений - откровенно необразованный дерьмо.

Вообще говоря, есть лишь очень мало ситуаций, в которых вы станете диск. Первый - сам сервер базы данных. Если у него недостаточно оперативной памяти, чтобы сохранить соответствующие части базы данных в памяти, то скорость диска этого сервера имеет решающее значение; Особенно в ситуации с высокой транзакцией.

Во -вторых, вы можете быть связаны диск -IO, если ваше приложение напрямую читает и записывает много файлов. Очень очень немногие приложения делают это. Я не считаю файлы .aspx или.html вашего приложения, потому что они могут быть кэшированы существующей структурой и IIS.

В основном, просто игнорируйте его.

Вся идея синхронизации базы данных для базы данных как метод повышения производительности не имеет значения примерно для 99,999% сайтов. Если ничто иное, база данных не должна выдвигать файлы в файловую систему веб -сервера, а не наоборот. Я видел ровно 1 сайт за 20 лет разработки, который требовал этого. Они обслуживают несколько миллионов просмотров страниц в день. Кроме того, он ошибается в том, чтобы сделать вызов базы данных в сети быстрее, чем загрузка эквивалентного объема данных из локального файла.

Далее, фактическая область, в которой мы действительно связаны, - это отправка данных по сети в клиентский браузер. Это всегда медленнее, чем чтение файла с диска; Даже без трафика на линии. Жесткие диски перемещают данные намного быстрее, чем ваша сетевая карта. Сделать это на шаг вперед; Современные жесткие диски на заказы на подключение к Интернету. Лучшее, что вы можете сделать для повышения производительности, - это просто ограничить количество запросов на подключение, требуемой нагрузку на одну страницу. Оптимизация здесь означает наличие 1 файла CSS, а не 20; Наличие лишь литературы в файле .JS, а не 100; и объединение графики в спрайтов, где это возможно. Перенос 1 большого файла, чем 100 небольших файлов из -за того, как работает TCP.

Может быть на перегруженном общем сервере, вы мощь иметь проблему. Тем не менее, реальность такова, что перегруженный общий сервер будет перегружен сети задолго до того, как его длина очереди на дисков вырастет из -под контроля.


С этим давайте посмотрим на вашу реальную проблему.

В элементах JavaScript есть два предпочтительных местоположения: 1. как файлы .js на веб -сервере или 2. Встроенные на вашей главной странице. Просто сделайте вариант 1, они будут кэшированы веб -сервером. Кроме того, они будут кэшированы клиентским браузером, что означает, что вам не придется

Для вашего заголовка и нижнего колодца код для этого должен быть на вашей главной странице. Не делайте серверную сторону, которая просто усложняет вещи. Создайте обычный веб -сайт .NET, который использует основные страницы для вашего «хромированного» контента. Вы можете включить частичное кэширование страницы на уровне приложения, которое будет обрабатывать все кэширование для вас.

Когда вы обновляете контент заголовка или нижнего колонтитула, просто переведите сайт.

Другие советы

Храните свои заголовки и нижние колонтитулы в файлах и используйте Серверная сторона включаетАнкет Некоторые веб -серверы (IIS 6.0) могут позволить вам добавить нижние колонтитулы документов на все страницы.

Храните свой JavaScript в файлах и используйте на своих страницах. Это позволит кэшировать и улучшить производительность страницы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top