# Пользовательский кеш APC

# Введение

Модуль APCu — хранилище «ключ — значение» для PHP. Ключи и значения хранятся в памяти. Ключи хранятся как строки (string), а значения как произвольные PHP-переменные. Модуль APCu поддерживает кеширование переменных только в пространстве пользователя.

В ОС Windows отдельные процессы работают с отдельными APCu-кешами, поэтому при работе с SAPI-интерфейсами на основе процессов, а не потоков, кеш не будет разделяться между процессами.

Модуль APCu — это модуль APC, из которого удалили кеширование опкода.

Первая кодовая база модуля APCu появилась под версией 4.0.0 как независимая копия, или форк, последних изменений основной ветки модуля APC. Поддержка PHP 7 появилась с APCu 5.0.0. Поддержка PHP 8 появилась с APCu 5.1.19.

- Установка и настройка
  - Установка
  - Настройка во время выполнения
- Предопределённые константы
- Функции APCu
  - apcu_add — Добавить переменную в кеш
  - apcu_cache_info — Извлекает закешированную информацию из хранилища APCu
  - apcu_cas — Заменяет старое значение на новое
  - apcu_clear_cache — Очистить кеш APCu
  - apcu_dec — Уменьшить сохранённое число
  - apcu_delete — Удаляет сохранённое значение из кеша
  - apcu_enabled — Возможно ли использовать APCu в текущем окружении
  - apcu_entry — Атомарно извлекает или генерирует запись в кеше
  - apcu_exists — Проверяет, существуют ли записи
  - apcu_fetch — Извлекает из кеша сохранённую переменную
  - apcu_inc — Увеличить сохранённое число
  - apcu_key_info — Получить детальную информацию о ключе в кеше
  - apcu_sma_info — Извлекает информацию о выделении разделяемой памяти APCu
  - apcu_store — Кеширует переменную
- APCUIterator — Класс APCUIterator
  - APCUIterator::__construct — Создаёт объект итератор класса APCUIterator
  - APCUIterator::current — Получить текущий элемент
  - APCUIterator::getTotalCount — Получить общее количество записей
  - APCUIterator::getTotalHits — Получить общее количество попаданий в кеш
  - APCUIterator::getTotalSize — Общий размер кеша
  - APCUIterator::key — Получить ключ итератора
  - APCUIterator::next — Перемещает указатель на следующий элемент
  - APCUIterator::rewind — Перемотка итератора
  - APCUIterator::valid — Проверяет, корректна ли текущая позиция итератора

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open