Кэш Codeigniter Opcache и APCu

Мне нужно создать экзаменационное приложение, которое должно загружать вопросы, которые никогда не изменятся.

Согласно документации

Это кеширует запрос

this->db->cache_on();
$query = $this->db->query("SELECT * FROM mytable");

1.Но ведь это файловый драйвер по умолчанию? но как заставить его использовать APCu по умолчанию?

  1. Что было бы хорошим сочетанием: Codeigniter - Opcache/файл или Opcache/APC

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


person zlatek    schedule 09.07.2015    source источник


Ответы (1)


db->cache_on предназначен только для кэширования файлов. Технически это не «файловый кеш», такой как OP/APC, и полностью обрабатывается некоторым кодом в библиотеке Ci.

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

Если вы хотите использовать кэширование памяти/системы, такое как APC/OP, вам необходимо использовать библиотеку кэширования.

После загрузки доступ осуществляется через $this->cache, а не через $this->db

Документы по CI находятся по адресу:

http://www.codeigniter.com/user_guide/libraries/caching.html

Удачного кэширования!

person crazEyez    schedule 21.08.2015