Каков максимальный размер хранимого значения для PHP APC? - PullRequest
3 голосов
/ 08 марта 2012

Для ускорения работы на моем веб-сайте я сохранил небольшие таблицы в виде массивов с использованием APC, что значительно ускорило мои запросы. В частности, в одной таблице (которую я до сих пор оставляю LEFT JOIN) содержится почти 3000 строк, и мне было интересно, будет ли целесообразно поместить ее в массив и хранить с использованием APC? Или он слишком большой?

В других таблицах, которые я сохранил, было максимум 20 строк.

1 Ответ

1 голос
/ 27 августа 2014

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

Список специальных директив APC можно найти здесь. http://php.net/manual/en/apc.configuration.php

Самое уместное для вашего вопроса:

apx.max_file_size - Запретить кэширование файлов, размер которых превышает это значение. По умолчанию 1M.

«Строки» мало что делают для описания данных с точки зрения размера. Это не является необоснованным, хотя кешировать тысячи «строк». Вы можете лучше понять размер вашего массива, сериализовав его, а затем используя strlen() / mb_strlen(). Возможно, вы не хотите, чтобы размер файла превышал один МБ, но при необходимости вы можете увеличить общий размер / сегменты разделяемой памяти, доступной для APC, в зависимости от доступной памяти.

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

...