Intereting Posts
PHP – если все методы абстрактного класса абстрактны, то в чем разница между интерфейсом и абстрактным классом По умолчанию почта Laravel не работает Как получить доступ к переменным из других методов внутри одного класса в PHP? Как я могу заставить MAMP рассказать мне, что пошло не так с php-кодом? Вызов функции-члена bind_param () для не-объекта, не работающего внутри функции, вызванного из другой функции проблема с php mail () – от имени не отображается правильно Как использовать WHERE IN с Doctrine 2 Предотвратите прямой доступ к содержимому iframe fancybox через URL-адрес Таблицы счетчиков PDO в базе данных Возобновляемая загрузка прерывается после нескольких GB $ _REQUEST superarray не инициализируется в $ GLOBALS массиве Как читать XML-файл и извлекать из него значения для отображения в HTML-кодированной HTML-странице Является ли ресурс ActiveRecord от CodeIgniter интенсивным? Создание матрицы совпадения из базы данных mysql в MYSQL, PHP или R простая форма входа с помощью symfony

как создать кеш-память на стороне сервера в php?

Я пытаюсь уменьшить объем доступа к базе данных, предоставляя кеш в памяти. Я понимаю, что я могу получить кеш, используя сеанс и файлы cookie, однако это работает только для каждого клиента. если один и тот же запрос выполняется один раз в каждом сеансе, то кеш будет бесполезным. Но я хочу только один раз получить доступ к базе данных и кэшировать ее.

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

Вы можете использовать MemCache , если он установлен.

Другой вариант – создать таблицу в MySQL с типом памяти MEMORY . Вы все равно будете использовать базу данных, но это будет намного быстрее. Но MemCache действительно уменьшит нагрузку на базу данных, поскольку вы можете кэшировать данные за пределами базы данных даже на другом сервере.

На общем пространстве размещения у вас может не хватить memcache. Проверьте APC в этом случае. Memcache действительно качается, если вы работаете на нескольких машинах. Если вы используете свой сайт на одном веб-сервере, APC будет выполнять ту же работу (с более низкими накладными расходами).

Попробуйте MemCache

Модуль Memcache обеспечивает удобный процедурный и объектно-ориентированный интерфейс для memcached, высокоэффективного демона кэширования, который был специально разработан для снижения загрузки базы данных в динамических веб-приложениях.

Memecached / Memcache – наиболее широко используемые решения, если вы хотите иметь несколько серверов или иметь доступ к кешу с несколькими машинами.

Однако, если вы хотите, чтобы ваш кеш был локальным (на том же компьютере, который запускает PHP-код), у вас есть другие, несколько более простые варианты:

Модуль APC также может хранить материал в памяти с помощью apc_add , apc_fetch т. Д. …

Или вы можете использовать стандартные файлы в tmpfs . Это имеет то преимущество, что вы полностью переносимы, и вы можете настроить его очень быстро, если какая-либо система кеширования использует файлы.