PdoCache
class PdoCache extends AbstractCache implements PruneableInterface
Свойства
| PdoTrait | |
| AbstractTrait | |
| LoggerAwareTrait |
Свойства
| protected | $maxIdLength |
Методы
| array|Traversable | doFetch(array $ids) Извлекает несколько элементов кэша. | из AbstractTrait |
| bool | doHave(string $id) Проверяет наличие элемента кэша. | из AbstractTrait |
| bool | doClear(string $namespace) Удаляет все элементы из пула. | из AbstractTrait |
| bool | doDelete(array $ids) Удаляет несколько элементов из пула. | из AbstractTrait |
| array|bool | doSave(array $values, int $lifetime) Сохраняет несколько элементов кэша немедленно. | из AbstractTrait |
| hasItem($key) {@inheritdoc} | из AbstractTrait | |
| clear() {@inheritdoc} | из AbstractTrait | |
| deleteItem($key) {@inheritdoc} | из AbstractTrait | |
| deleteItems(array $keys) {@inheritdoc} | из AbstractTrait | |
| bool | enableVersioning(bool $enable = true) Включает/отключает версионирование элементов. | из AbstractTrait |
| reset() {@inheritdoc} | из AbstractTrait | |
| static mixed | unserialize(string $value) Аналогично встроенной функции unserialize(), но выбрасывает исключение, если что-то пойдёт не так. | из AbstractTrait |
| static | handleUnserializeCallback($class) | из AbstractTrait |
| __construct($connOrDsn, string $namespace = '', int $defaultLifetime = 0, array $options = array()) Можно передать существующее подключение к базе данных как экземпляр PDO или подключение Doctrine DBAL, или строку DSN, которая будет использована для ленивого подключения к базе данных, когда кэш фактически используется. | ||
| get($key, $default = null) {@inheritdoc} | из AbstractCache | |
| set($key, $value, $ttl = null) {@inheritdoc} | из AbstractCache | |
| getMultiple($keys, $default = null) {@inheritdoc} | из AbstractCache | |
| setMultiple($values, $ttl = null) {@inheritdoc} | из AbstractCache | |
| deleteMultiple($keys) {@inheritdoc} | из AbstractCache | |
| createTable() Создаёт таблицу для хранения элементов кэша, которая может быть вызвана один раз для настройки. | из PdoTrait | |
| prune() {@inheritdoc} | из PdoTrait |
Подробности
абстрактный защищенный массив|Traversable doFetch(массив $ids)
Извлекает несколько элементов кэша.
Параметры
| массив | $ids | Идентификаторы элементов кэша для извлечения |
Возвращаемое значение
| массив|Traversable | Соответствующие значения, найденные в кэше |
абстрактный защищенный bool doHave(строка $id)
Проверяет наличие элемента кэша.
Параметры
| строка | $id | Идентификатор для проверки существования |
Возвращаемое значение
| bool | True, если элемент существует в кэше, иначе false |
абстрактный защищенный bool doClear(строка $namespace)
Удаляет все элементы из пула.
Параметры
| строка | $namespace | Префикс, используемый для всех идентификаторов, управляемых этим пулом |
Возвращаемое значение
| bool | True, если пул успешно очищен, иначе false |
абстрактный защищенный bool doDelete(массив $ids)
Удаляет несколько элементов из пула.
Параметры
| массив | $ids | Массив идентификаторов, которые должны быть удалены из пула |
Возвращаемое значение
| bool | True, если элементы были успешно удалены, иначе false |
абстрактный защищенный массив|bool doSave(массив $values, целое $lifetime)
Немедленно сохраняет несколько элементов кэша.
Параметры
| массив | $values | Значения для кэширования, индексированные по их идентификатору кэша |
| целое | $lifetime | Срок хранения кэшированных значений, 0 — до ручного удаления |
Возвращаемое значение
| массив|bool | Идентификаторы, которые не удалось кэшировать, или булево значение, указывающее на успех/неуспех кэширования |
hasItem($key)
{@inheritdoc}
Параметры
| $key |
clear()
{@inheritdoc}
deleteItem($key)
{@inheritdoc}
Параметры
| $key |
deleteItems(массив $keys)
{@inheritdoc}
Параметры
| массив | $keys |
bool enableVersioning(bool $enable = true)
Включает/выключает верификацию элементов.
При включенной верификации очистка кэша атомарна и не требует перечисления существующих ключей, но старые ключи могут потребовать сборки мусора и дополнительных обращений к бэкенду.
Вызов этого метода также очищает кешированный версию пространства имен, тем самым заставляя его пересинхронизироваться.
Параметры
| bool | $enable |
Возвращаемое значение
| bool | предыдущее состояние верификации |
reset()
{@inheritdoc}
статический защищенный смешанный unserialize(строка $value)
Подобно встроенной функции unserialize(), но выбрасывает исключение, если что-то пойдет не так.
Параметры
| строка | $value |
Возвращаемое значение
| смешанный |
Исключения
| Исключение |
статический handleUnserializeCallback($class)
Параметры
| $class |
__construct($connOrDsn, строка $namespace = '', целое $defaultLifetime = 0, массив $options = массив())
Можно передать существующее соединение с базой данных как экземпляр PDO или Doctrine DBAL Connection, или строку DSN, которая будет использоваться для ленивого подключения к базе данных при фактическом использовании кэша.
Список доступных параметров: * db_table: Название таблицы [по умолчанию: cache_items] * db_id_col: Столбец для хранения идентификатора кэша [по умолчанию: item_id] * db_data_col: Столбец для хранения данных кэша [по умолчанию: item_data] * db_lifetime_col: Столбец для хранения срока хранения [по умолчанию: item_lifetime] * db_time_col: Столбец для хранения отметки времени [по умолчанию: item_time] * db_username: Имя пользователя при ленивом подключении [по умолчанию: ''] * db_password: Пароль при ленивом подключении [по умолчанию: ''] * db_connection_options: Массив параметров подключения, специфичных для драйвера [по умолчанию: массив()]
Параметры
| $connOrDsn | ||
| строка | $namespace | |
| целое | $defaultLifetime | |
| массив | $options |
Исключения
| InvalidArgumentException | Когда первый аргумент не PDO, не Connection и не строка |
| InvalidArgumentException | Когда режим ошибок PDO не PDO::ERRMODE_EXCEPTION |
| InvalidArgumentException | Когда пространство имен содержит недопустимые символы |
get($key, $default = null)
{@inheritdoc}
Параметры
| $key | ||
| $default |
set($key, $value, $ttl = null)
{@inheritdoc}
Параметры
| $key | ||
| $value | ||
| $ttl |
getMultiple($keys, $default = null)
{@inheritdoc}
Параметры
| $keys | ||
| $default |
setMultiple($values, $ttl = null)
{@inheritdoc}
Параметры
| $values | ||
| $ttl |
deleteMultiple($keys)
{@inheritdoc}
Параметры
| $keys |
createTable()
Создаёт таблицу для хранения элементов кэша, которая может быть вызвана один раз для настройки.
Идентификаторы кэша сохраняются в столбце максимальной длины 255. Данные кэша сохраняются в BLOB.
Исключения
| PDOException | Если таблица уже существует |
| DBALException | Если таблица уже существует |
| DomainException | Если используется неподдерживаемый драйвер PDO |
prune()
{@inheritdoc}
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Cache/Simple/PdoCache.html