Моя проблема заключается в создании большого вложенного массива PHP, который анализирует информацию из нескольких внешних источников.
При первом возврате я хотел бы кэшировать эти данные.
Я довольно новичок в кешировании, поэтому не знаю, что я должен искать, любые хорошие или плохие методы или даже если это обычная практика! Иметь googled, но не нашел ничего приличного для кеша noob.
Я уже использую smarty для кэширования содержимого моей страницы (исключая динамические биты), исправления apache, сокращения и т. Д., Чтобы повысить производительность, но загрузка страницы по-прежнему далека. Иногда до 8 секунд!
Использование PHP5 с Smarty. Использование cURL для анализа XML, который затем сохраняется в массиве.
Вы можете попытаться кэшировать файл:
file_put_contents("cache_file", serialize($myArray));
Затем загрузить кеш:
$myArray = unserialize(file_get_contents("cache_file"));
Это будет работать, если вещи в вашем массиве будут сериализованы: нет подключений DB или файлов, или таких вещей. Строки и числа в порядке.
Если вам что-то нужно, вы можете использовать кеш памяти, такой как memcached.
вы думали о статическом $ yourData = array (); в вашем методе, где вы загружаете данные, затем проверяете, являются ли какие-либо данные в этом статическом массиве и используют ли они, перегружая данные? надеюсь, это поможет в некотором роде: D
Если вы используете механизм шаблонов Smarty , в нем есть плагин для v3.1, который позволяет использовать APC (Alternate PHP Cache) в качестве кеша op-кода, у вас также есть встроенная память для быстрого доступа к данным.
Доступно здесь: https://www.smarty.net/forums/viewtopic.php?p=86501&sid=efc098e0cfb090a94e8c0d362c609263#86501