Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 494f2c14be
Fetching contributors…

Cannot retrieve contributors at this time

file 85 lines (67 sloc) 1.702 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
--TEST--
Delete multi
--SKIPIF--
<?php if (!extension_loaded("memcached")) print "skip"; ?>
--FILE--
<?php
$m = new Memcached();
$m->addServer('127.0.0.1', 11211, 1);
$m->addServer('localhost', 11211, 1);

$m->flush();

function has_all_keys($keys, $array, $check_true = false)
{
foreach ($keys as $key) {
if (!isset($array[$key]))
return false;

if ($check_true && $array[$key] !== true)
return false;
}
return true;
}

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

$keys = array_keys($data);

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

/* Check that all keys were stored */
var_dump(has_all_keys($keys, $m->getMulti($keys)));

/* Check that all keys get deleted */
$deleted = $m->deleteMulti($keys);
var_dump(has_all_keys($keys, $deleted, true));

/* Try to get the deleted keys, should give empty array */
var_dump($m->getMulti($keys));

/* ---- same tests for byKey variants ---- */
$m->setMultiByKey("hi", $data, 3600);

var_dump(has_all_keys($keys, $m->getMultiByKey('hi', $keys)));

/* Check that all keys get deleted */
$deleted = $m->deleteMultiByKey('hi', $keys);
var_dump(has_all_keys($keys, $deleted, true));

/* Try to get the deleted keys, should give empty array */
var_dump($m->getMultiByKey('hi', $keys));

/* Test deleting non-existent keys */
$keys = array();
$keys[] = "nothere";
$keys[] = "nothere2";

$retval = $m->deleteMulti($keys);

foreach ($retval as $key => $value) {
    if ($value === Memcached::RES_NOTFOUND) {
        echo "$key NOT FOUND\n";
    }
}


?>
--EXPECT--
bool(true)
bool(true)
array(0) {
}
bool(true)
bool(true)
array(0) {
}
nothere NOT FOUND
nothere2 NOT FOUND
Something went wrong with that request. Please try again.