Насколько я знаю, нет другого способа, кроме как использовать что-то вроде ZendCache или MemCache для подобных вещей.
В моем варианте причина в том, что сервер не может определить, кэшировал ли браузер страницу или нет, поэтому сервер всегда отправляет полный контент и выполняет сценарий php.
Используя отдельный сервер кэширования (например, zend или memcache), вы можете просто переслать простой HTML, не повторяя весь сценарий снова.