2010-07-05 4 views
2

Мы хотим использовать http-кеширование на нашем сайте - в частности, проверку содержимого.быстрый алгоритм etag

Поскольку наша CMS строит страницы из меньших фрагментов контента, последняя измененная дата фактической страницы не всегда является точным индикатором того, что страница изменилась. Следовательно, мы также хотим использовать etags. Поскольку построение страницы основано на множестве других фрагментов страницы, мы считаем, что единственный реальный способ обеспечить точный etag - это выполнить какой-то дайджест в самом потоке контента. Это кажется немного более приготовленным, поскольку кеширование должно облегчить загрузку с серверов, но контент-дайджест, очевидно, интенсивен.

Я ищу самый быстрый алгоритм для создания уникального этага, который имеет отношение к потоку контента (inode и т. Д., Просто является клодом и не работает). Очевидно, что хэш MD5 получит лучший уникальный результат, но кто-нибудь другой использует другие алгоритмы, которые быстрее в подобной ситуации?

К сожалению забыл важные детали ... Использование Java-приложений - работает в WebSphere 6.1 на Windows 2003.

Я забыл упомянуть, что есть также каналы жить базы данных (мы банка и должны убедиться, процентные ставки обновляются), которые также могут изменять контент. Поэтому выяснить, когда изменился контент, может быть сложно определить.

+0

Какая платформа? Какой веб-сервер? Какой язык? – Oded

+0

это может быть отправной точкой: http://stackoverflow.com/questions/384811/fastest-hash-algorithm-for-text-data –

+0

Извините, забыл важные детали ... Использование Java Servlets - запуск в websphere 6.1 на windows 2003. – subcontact

ответ

0

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

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