PdoAdapter
class PdoAdapter extends AbstractAdapter 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, которая будет использоваться для ленивого подключения к базе данных при фактическом использовании кэша. | ||
| static AdapterInterface | createSystemCache(string $namespace, int $defaultLifetime, string $version, string $directory, LoggerInterface $logger = null) | из AbstractAdapter |
| static | createConnection($dsn, array $options = array()) | из AbstractAdapter |
| CacheItem | getItem($key) {@inheritdoc} | из AbstractAdapter |
| Traversable|CacheItem[] | getItems(array $keys = array()) {@inheritdoc} | из AbstractAdapter |
| save(CacheItemInterface $item) {@inheritdoc} | из AbstractAdapter | |
| saveDeferred(CacheItemInterface $item) {@inheritdoc} | из AbstractAdapter | |
| commit() {@inheritdoc} | из AbstractAdapter | |
| __destruct() | из AbstractAdapter | |
| 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 |
Значение возврата
| смешанный |
Исключения
| Exception |
статический handleUnserializeCallback($class)
Параметры
| $class |
__construct($connOrDsn, строка $namespace = '', целое $defaultLifetime = 0, массив $options = массив())
Можно передать существующее соединение с базой данных как экземпляр PDO или соединение Doctrine DBAL, или строку 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 | Если пространство имен содержит недопустимые символы |
статический Интерфейс адаптера createSystemCache(строка $namespace, целое $defaultLifetime, строка $version, строка $directory, LoggerInterface $logger = null)
Параметры
| строка | $namespace | |
| целое | $defaultLifetime | |
| строка | $version | |
| строка | $directory | |
| LoggerInterface | $logger |
Значение возврата
| Интерфейс адаптера |
статический createConnection($dsn, массив $options = массив())
Параметры
| $dsn | ||
| массив | $options |
Элемент кэша getItem($key)
{@inheritdoc}
Параметры
| $key |
Значение возврата
| Элемент кэша |
Traversable|Элемент кэша[] getItems(массив $keys = массив())
{@inheritdoc}
Параметры
| массив | $keys |
Значение возврата
| Traversable|Элемент кэша[] |
save(CacheItemInterface $item)
{@inheritdoc}
Параметры
| CacheItemInterface | $item |
saveDeferred(CacheItemInterface $item)
{@inheritdoc}
Параметры
| CacheItemInterface | $item |
commit()
{@inheritdoc}
__destruct()
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/Adapter/PdoAdapter.html