Получает элемент

# Memcached::get

(PECL memcached >= 0.1.0)

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

### Описание

public function 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 */
            /* ...       */
        }
    }
    ?>

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

- Memcached::getByKey() - Получает запись с определённого сервера
- Memcached::getMulti() - Получает несколько записей
- Memcached::getDelayed() - Запрашивает несколько записей

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