PHP.mk документација

Memcached::get

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

memcached.get.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека memcached.get.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Memcached::get

Референца за `memcached.get.php` со подобрена типографија и навигација.

memcached.get.php

Memcached::get

(PECL memcached >= 0.1.0)

Memcached::getПреземи ставка

= NULL

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

Овозможува или оневозможува игнорирање на резултатот од команди за складирање (set, add, replace, append, prepend, delete, increment, decrement, итн.). Командите за складирање ќе се испраќаат без трошење време за чекање одговор (нема да има одговор). Командите за преземање како што се враќа ставка што претходно беше складирана под key. Ако ставката е пронајдена и get_flags е дадено Memcached::GET_EXTENDED, исто така ќе ја врати вредноста на CAS токенот за ставката. Види Memcached::cas() за тоа како да се користат CAS токени. Повик за враќање на кешот може да се специфицира преку cache_cb parameter.

Параметри

key

Клучот на ставката за преземање.

cache_cb

Повик за враќање на кешот или null.

get_flags

Знаменца за контрола на вратениот резултат. Кога Memcached::GET_EXTENDED е дадено, функцијата исто така ќе го врати CAS токенот.

Вратени вредности

Враќа вредност складирана во кешот или false инаку. Ако get_flags е поставен на Memcached::GET_EXTENDED, наместо само вредноста се враќа низа што содржи вредност и CAS токен. The Времето на истекување, стандардно е 0. Види ќе врати Memcached::RES_NOTFOUND ако клучот не постои.

Дневник на промени

Верзија = NULL
PECL memcached 3.0.0 На &cas_token параметарот беше отстранет. Наместо тоа get_flags беше додаден и кога е даден вредноста на Memcached::GET_EXTENDED ќе се осигура дека CAS токенот ќе биде преземен.

Примери

Пример #1 Овозможува или оневозможува игнорирање на резултатот од команди за складирање (set, add, replace, append, prepend, delete, increment, decrement, итн.). Командите за складирање ќе се испраќаат без трошење време за чекање одговор (нема да има одговор). Командите за преземање како што се пример #1

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

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

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

int(100)

Пример #2 Овозможува или оневозможува игнорирање на резултатот од команди за складирање (set, add, replace, append, prepend, delete, increment, decrement, итн.). Командите за складирање ќе се испраќаат без трошење време за чекање одговор (нема да има одговор). Командите за преземање како што се пример #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 */
/* ... */
}
}
?>

Види Исто така

Белешки од корисници 3 белешки

letynsoft на gmail точка com
пред 8 години
As of some version of php7 (i was not able to determine which exactly).
The $cas_token is no longer valid argument. It has been removed in favor of flags argument, as it appears to be causing issues when subclassing the Memcached class.

See https://github.com/php-memcached-dev/php-memcached/pull/214 for more details.

Basically you need to 
<?php
function memcacheGet($key, $cb = null, &$cas = null) {
  $m = memcacheGetObject();
  if(empty($m))
    return false;
  if(defined('Memcached::GET_EXTENDED')) {
    //Incompatible change in php7, took me 2 hours to figure this out, grrr
    $_o = $m->get($key, $cb, Memcached::GET_EXTENDED);
    $o = $_o['value'];
    $cas = $_o['cas'];
  } else {
    $o = $m->get($key, $cb, $cas);
  }
  return $o;
}
?>
miha на hribar точка info
пред 16 години
This method also returns false in case you set the value to false, so in order to have a proper fault mechanism in place you need to check the result code to be certain that a key really does not exist in memcached.

<?php
$Memcached = new Memcached();
$Memcached->addServer('localhost', 11211);
$Memcached->set('key', false);
var_dump($Memcached->get('key'));       // boolean false
var_dump($Memcached->getResultCode());  // int 0 which is Memcached::RES_SUCCESS
?>

Or just make sure the values are not false :)
denis_truffaut[A-T]hotmail[D-O-T]com
пред 15 години
Note that this function can return NULL as FALSE, so don't make checks with === FALSE as with the old Memcache class, because it won't work. :O 

Use the not (!) operator and check the result code with getResultCode() as mentioned in the documentation :)
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.