Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.
Например, ниже - класс ученика, который будет использовать его в нашем коде.
public class Student {
private int id;
public int getId() {
return this.id;
}
public setId(int newId) {
this.id = newId;
}
}
Приведенный ниже код дает вам исключение с нулевым указателем.
public class School {
Student obj_Student;
public School() {
try {
obj_Student.getId();
}
catch(Exception e) {
System.out.println("Null Pointer ");
}
}
}
Поскольку вы используете Obj_Student
, но вы забыли инициализировать его, как в правильном коде, показанном ниже:
public class School {
Student obj_Student;
public School() {
try {
obj_Student = new Student();
obj_Student.setId(12);
obj_Student.getId();
}
catch(Exception e) {
System.out.println("Null Pointer ");
}
}
}
Если кэш прокси-сервера будет вне рассмотрения, и Вы служите полным файлам HTML, то Вы получите лучшую производительность путем обхода PHP в целом. Исследование, как WP Супер работы Кэша.
Некэшируемые страницы копируются в папку кэша с подобной структурой URL как Ваш сайт. По более поздним запросам mod_rewrite отмечает существование кэшируемого файла и служит ему вместо этого. другие директивы RewriteCond используются, чтобы удостовериться, что пользователи комментаторов/зарегистрированный видят живые запросы PHP, но большинство посетителей будет обслуживаться Apache непосредственно.
Можно использовать выходную буферизацию для выборочного сохранения частей вывода (те, которых Вы хотите кэшировать), и отобразите их следующему пользователю, если это не было достаточно длинно. Таким образом, Вы все еще представляете другие части страницы на лету (например, настраиваемые поля, персональные данные).
Я рекомендовал бы Memcached или APC. Оба - решения для кэширования в оперативной памяти с очень простыми API и большим количеством библиотек.
Проблема с теми 2 - Вы, должен установить их на Вашем веб-сервере или другом сервере, если это - Memcached.
Используемый всеми большими парнями (Facebook, Yahoo, Mozilla)
Недостатки:Медленнее, чем APC
Я не рекомендовал бы писать Ваше собственное, там существуют много. Вы могли пойти с находящимся на диске кэшем, если Вы не можете установить программное обеспечение на своем веб-сервере, но существуют возможные проблемы гонки для контакта с. Один запрос мог писать в файл, в то время как другой читает.
Вы на самом деле могли кэшировать поисковые запросы, даже в течение нескольких секунд к минуте. Если Ваш дб не обновляется больше, чем несколько раз секунда, некоторая задержка была бы в порядке.
Лучший способ пойти состоит в том, чтобы использовать кэш прокси-сервера (Сквид, Лак) и вручить соответствующие заголовки Cache-Control/Expires, наряду с Завершающими тегами: посмотрите, что Mark Nottingham Кэширует Учебное руководство для полного описания того, как работают кэши и как можно получить большую часть производительности из кэширующегося прокси.
Также проверьте memcached и попытайтесь кэшировать свои запросы базы данных (или еще лучше, предварительно представленные фрагментами страницы) там.
Движок шаблонов Присяжного острослова PHP (http://www.smarty.net) включает довольно усовершенствованную систему кэширования.
Можно найти детали в кэширующемся разделе руководства Присяжного острослова: http://www.smarty.net/manual/en/caching.php
Вы, кажется, ищет платформу кэша PHP. Я рекомендую Вам шаблонную систему TinyButStrong, который идет с очень хорошим плагином CacheSystem. Это просто, легко, настраиваемо (можно кэшировать любую часть файла HTML, который Вы хотите), очень мощный ^^
Простое кэширование страниц или части страниц - Груша:: класс CacheLite. Я также использую APC и кэш-память для разных вещей, но другие ответы, которые я видел до сих пор, больше для большего количества полных, и сложных систем. Если просто необходимо сэкономить некоторые усилия, восстанавливающие часть страницы - Cache_lite с поддержанным файлом хранилищем совершенно достаточен, и очень прост реализовать.
Газель проекта (сайт потока с открытым исходным кодом) предоставляет пошаговое руководство по установке Memcached на сайте, который можно легко использовать на любом другом веб-сайте, который Вы могли бы хотеть настроить, который обработает большой трафик.
Захватите вниз источник и прочитайте документацию.