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

Memcached::getMulti

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

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

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

memcached.getmulti.php

Memcached::getMulti

(PECL memcached >= 0.1.0)

Memcached::getMultiПреземи повеќе ставки

= NULL

public Memcached::getMulti(array $keys, int $get_flags = 0): array|false

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

Забелешка:

Пред v3.0 се користеше втор аргумент &cas_tokens беше во употреба. Беше пополнет со вредностите на CAS токенот за пронајдените ставки. Аргументот &cas_tokens беше отстранет во v3.0 на екстензијата. Беше заменет со ново знаменце Memcached::GET_EXTENDED што треба да се користи како вредност за get_flags.

На get_flags аргументот може да се користи за специфицирање дополнителни опции за Флаг за. Memcached::GET_PRESERVE_ORDER осигурува дека клучевите се враќаат во ист редослед како што беа барани. Memcached::GET_EXTENDED осигурува дека CAS токените исто така ќе бидат преземени.

Параметри

keys

Низа од клучеви за преземање.

get_flags

Знаменцата за операцијата get.

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

Враќа низа од пронајдените ставки или false соодветно избегнати Времето на истекување, стандардно е 0. Види ако е потребно.

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

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

Примери

Пример #1 Флаг за пример за Memcached v3

<?php
// Valid for v3 of the extension

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

$items = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$m->setMulti($items);
$result = $m->getMulti(array('key1', 'key3', 'badkey'));
var_dump($result);
?>

Горниот пример ќе прикаже нешто слично на:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key3"]=>
  string(6) "value3"
}

Пример #2 Флаг за пример за Memcached v1 и v2

<?php
// Valid for v1 and v2 of the extension

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

$items = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$m->setMulti($items);
$result = $m->getMulti(array('key1', 'key3', 'badkey'), $cas);
var_dump($result, $cas);
?>

Горниот пример ќе прикаже нешто слично на:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key3"]=>
  string(6) "value3"
}
array(2) {
  ["key1"]=>
  float(2360)
  ["key3"]=>
  float(2362)
}

Пример #3 Memcached::GET_PRESERVE_ORDER пример за Memcached v3

<?php
// Valid for v3 of the extension

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

$data = array(
'foo' => 'foo-data',
'bar' => 'bar-data',
'baz' => 'baz-data',
'lol' => 'lol-data',
'kek' => 'kek-data',
);

$m->setMulti($data, 3600);

$keys = array_keys($data);
$keys[] = 'zoo';
$got = $m->getMulti($keys, Memcached::GET_PRESERVE_ORDER);

foreach (
$got as $k => $v) {
echo
"$k $v\n";
}
?>

Горниот пример ќе прикаже нешто слично на:

foo foo-data
bar bar-data
baz baz-data
lol lol-data
kek kek-data
zoo

Пример #4 Memcached::GET_PRESERVE_ORDER пример за Memcached v1 и v2

<?php
// Valid for v1 and v2 of the extension

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

$data = array(
'foo' => 'foo-data',
'bar' => 'bar-data',
'baz' => 'baz-data',
'lol' => 'lol-data',
'kek' => 'kek-data',
);

$m->setMulti($data, 3600);

$null = null;
$keys = array_keys($data);
$keys[] = 'zoo';
$got = $m->getMulti($keys, $null, Memcached::GET_PRESERVE_ORDER);

foreach (
$got as $k => $v) {
echo
"$k $v\n";
}
?>

Горниот пример ќе прикаже нешто слично на:

foo foo-data
bar bar-data
baz baz-data
lol lol-data
kek kek-data
zoo

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

габриел.мајбрун@демандмедиа.ком
пред 11 години
GOTCHA: Recently I was tasked with moving from PECL memcache to PECL memcached and ran into a major problem -- memcache and memcached serialize data differently, meaning that data written with one library can't necessarily be read with the other library.

For example, If you write an object or an array with memcache, it's interpreted as an integer by memcached.  If you write it with memcached, it's interpreted as a string by memcache.

tl;dr - You can't safely switch between memcache and memcached without a either a cache flush or isolated cache environments.

<?php
$memcache = new Memcache;
$memcacheD = new Memcached;
$memcache->addServer($host);
$memcacheD->addServers($servers);

$checks = array(
    123,
    4542.32,
    'a string',
    true,
    array(123, 'string'),
    (object)array('key1' => 'value1'),
);
foreach ($checks as $i => $value) {
    print "Checking WRITE with Memcache\n";
    $key = 'cachetest' . $i;
    $memcache->set($key, $value);
    usleep(100);
    $val = $memcache->get($key);
    $valD = $memcacheD->get($key);
    if ($val !== $valD) {
        print "Not compatible!";
        var_dump(compact('val', 'valD'));
    }

    print "Checking WRITE with MemcacheD\n";
    $key = 'cachetest' . $i;
    $memcacheD->set($key, $value);
    usleep(100);
    $val = $memcache->get($key);
    $valD = $memcacheD->get($key);
    if ($val !== $valD) {
        print "Not compatible!";
        var_dump(compact('val', 'valD'));
    }
}
На оваа страница

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

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

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

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

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