Memcached::get

(PECL memcached >= 0.1.0)

Memcached::getПолучает элемент

Описание

public Memcached::get(string $key, ?callable $cache_cb = null, int $get_flags = 0): mixed

Метод Memcached::get() возвращает элемент, который до этого сохранили под ключом key. Если метод нашёл элемент и для параметра get_flags задали флаг Memcached::GET_EXTENDED, метод также вернёт для элемента значение токена CAS. Метод Memcached::cas() описывает, как использовать CAS-токены. Callback-функции кеша со сквозным чтением устанавливают через параметр cache_cb.

Список параметров

key

Ключ элемента, который требуется получить.

cache_cb

Callback-функция кеширования со сквозным чтением или null.

get_flags

Флаги для управления результатом, который вернёт метод. Метод также вернёт CAS-токен, если установили константу Memcached::GET_EXTENDED.

Возвращаемые значения

Метод возвращает значение, которое хранится в кеше, иначе false. Если для параметра get_flags установили флаг Memcached::GET_EXTENDED, возвращается массив, который содержит значение и токен CAS вместо единственного значения. Метод Memcached::getResultCode() возвращает значение константы Memcached::RES_NOTFOUND, если ключ, который передали, не существует.

Список изменений

Версия Описание
PECL memcached 3.0.0 Удалили параметр &cas_token. Вместо параметра добавили параметр get_flags, в который передаётся значение Memcached::GET_EXTENDED, чтобы метод вернул CAS-токен.

Примеры

Пример #1 Пример использования метода Memcached::get() #1

<?php

$m
= new Memcached();
$m->addServer('localhost', 11211);

$m->set('foo', 100);
var_dump($m->get('foo'));

?>

Результат выполнения приведённого примера:

int(100)

Пример #2 Пример использования Memcached::get() #2

<?php
$m
= new Memcached();
$m->addServer('localhost', 11211);

if (!(
$ip = $m->get('ip_block'))) {
if (
$m->getResultCode() == Memcached::RES_NOTFOUND) {
$ip = array();
$m->set('ip_block', $ip);
} else {
/* log error */
/* ... */
}
}
?>

Смотрите также