DatabaseStore
класс DatabaseStore реализует LockProvider, Store (View source)
Черты
| InteractsWithTime | |
| RetrievesMultipleKeys |
Свойства
| protected ConnectionInterface | $connection | Экземпляр подключения к базе данных. | |
| protected ConnectionInterface | $lockConnection | Экземпляр подключения к базе данных, который должен использоваться для управления блокировками. | |
| protected string | $table | Имя таблицы кэша. | |
| protected string | $prefix | Строка, которая должна быть добавлена к ключам. | |
| protected string | $lockTable | Имя таблицы блокировок кэша. | |
| protected array | $lockLottery | Массив, представляющий вероятности лотереи блокировок. | |
| protected int | $defaultLockTimeoutInSeconds | Умолчательное количество секунд, в течение которых должна удерживаться блокировка. |
Методы
| int | secondsUntil(DateTimeInterface|DateInterval|int $delay)
Получить количество секунд до заданной даты и времени. | из InteractsWithTime |
| int | availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Получить метку времени UNIX "доступно в". | из InteractsWithTime |
| DateTimeInterface|int | parseDateInterval(DateTimeInterface|DateInterval|int $delay)
Если заданное значение является интервалом, преобразовать его в экземпляр DateTime. | из InteractsWithTime |
| int | currentTime()
Получить текущее системное время в виде метки времени UNIX. | из InteractsWithTime |
| array | many(array $keys)
Извлечь несколько элементов из кэша по ключу. | из RetrievesMultipleKeys |
| bool | putMany(array $values, int $seconds)
Сохранить несколько элементов в кэше на заданное количество секунд. | из RetrievesMultipleKeys |
| void | __construct(ConnectionInterface $connection, string $table, string $prefix = '', string $lockTable = 'cache_locks', array $lockLottery = [2, 100], $defaultLockTimeoutInSeconds = 86400)
Создать новый хранилище базы данных. | |
| mixed | get(string|array $key)
Извлечь элемент из кэша по ключу. | |
| bool | put(string $key, mixed $value, int $seconds)
Сохранить элемент в кэше на заданное количество секунд. | |
| bool | add(string $key, mixed $value, int $seconds)
Сохранить элемент в кэше, если ключ не существует. | |
| int|bool | increment(string $key, mixed $value = 1)
Увеличить значение элемента в кэше. | |
| int|bool | decrement(string $key, mixed $value = 1)
Уменьшить значение элемента в кэше. | |
| int|bool | incrementOrDecrement(string $key, mixed $value, Closure $callback)
Увеличить или уменьшить элемент в кэше. | |
| int | getTime()
Получить текущее системное время. | |
| bool | forever(string $key, mixed $value)
Сохранить элемент в кэше бессрочно. | |
| Lock | lock(string $name, int $seconds = 0, string|null $owner = null)
Получить экземпляр блокировки. | |
| Lock | restoreLock(string $name, string $owner)
Восстановить экземпляр блокировки, используя идентификатор владельца. | |
| bool | forget(string $key)
Удалить элемент из кэша. | |
| bool | forgetIfExpired(string $key)
Удалить элемент из кэша, если он истек. | |
| bool | flush()
Удалить все элементы из кэша. | |
| Builder | table()
Получить построитель запросов для таблицы кэша. | |
| ConnectionInterface | getConnection()
Получить базовое подключение к базе данных. | |
| $this | setLockConnection(ConnectionInterface $connection)
Указать имя подключения, которое должно использоваться для управления блокировками. | |
| string | getPrefix()
Получить префикс ключа кэша. | |
| string | serialize(mixed $value)
Сериализовать заданное значение. | |
| mixed | unserialize(string $value)
Десериализовать заданное значение. |
Подробности
protected int secondsUntil(DateTimeInterface|DateInterval|int $delay)
Получить количество секунд до заданной даты и времени.
protected int availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Получить метку времени "доступно в" в формате UNIX.
protected DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)
Если заданное значение является интервалом, преобразуйте его в экземпляр DateTime.
protected int currentTime()
Получить текущее системное время в формате UNIX timestamp.
array many(array $keys)
Извлечь несколько элементов из кэша по ключу.
Элементы, которых нет в кэше, будут иметь значение null.
bool putMany(array $values, int $seconds)
Сохранить несколько элементов в кэше на заданное количество секунд.
void __construct(ConnectionInterface $connection, string $table, string $prefix = '', string $lockTable = 'cache_locks', array $lockLottery = [2, 100], $defaultLockTimeoutInSeconds = 86400)
Создать новый хранилище базы данных.
mixed get(string|array $key)
Получить элемент из кэша по ключу.
bool put(string $key, mixed $value, int $seconds)
Сохранить элемент в кэше на заданное количество секунд.
bool add(string $key, mixed $value, int $seconds)
Сохранить элемент в кэше, если ключ не существует.
int|bool increment(string $key, mixed $value = 1)
Увеличить значение элемента в кэше.
int|bool decrement(string $key, mixed $value = 1)
Уменьшить значение элемента в кэше.
protected int|bool incrementOrDecrement(string $key, mixed $value, Closure $callback)
Увеличить или уменьшить значение элемента в кэше.
protected int getTime()
Получить текущее системное время.
bool forever(string $key, mixed $value)
Сохранить элемент в кэше на неопределённый срок.
Lock lock(string $name, int $seconds = 0, string|null $owner = null)
Получить экземпляр блокировки.
Lock restoreLock(string $name, string $owner)
Восстановить экземпляр блокировки по идентификатору владельца.
bool forget(string $key)
Удалить элемент из кэша.
bool forgetIfExpired(string $key)
Удалить элемент из кэша, если он просрочен.
bool flush()
Удалить все элементы из кэша.
protected Builder table()
Получить конструктор запроса для таблицы кэша.
ConnectionInterface getConnection()
Получить базу данных, на которой выполняется кэширование.
$this setLockConnection(ConnectionInterface $connection)
Указать имя подключения, которое должно использоваться для управления блокировками.
string getPrefix()
Получить префикс ключа кэша.
protected string serialize(mixed $value)
Сериализовать заданное значение.
protected mixed unserialize(string $value)
Десериализовать заданное значение.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/10.x/Illuminate/Cache/DatabaseStore.html