File: 046.phpt

package info (click to toggle)
php-memcache 3.0.9~20170802.e702b5f-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,172 kB
  • sloc: ansic: 9,126; php: 1,015; xml: 760; sh: 3; makefile: 1
file content (73 lines) | stat: -rw-r--r-- 1,684 bytes parent folder | download | duplicates (10)
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
--TEST--
hash strategies and functions
--SKIPIF--
<?php include 'connect.inc'; if (!isset($host2)) die('skip $host2 not set'); ?>
--FILE--
<?php

include 'connect.inc';

$var1 = 'test1';
$var2 = 'test2';

$memcache1 = memcache_connect($host, $port);
$memcache2 = memcache_pconnect($host2, $port2);

foreach ($balanceKeys as $strategy => $functions) {
	foreach ($functions as $function => $keys) {
		ini_set('memcache.hash_strategy', $strategy);
		ini_set('memcache.hash_function', $function);
		list ($balanceKey1, $balanceKey2) = $keys;
		
		print "\n$strategy:$function\n";
	
		$memcache = new Memcache();
		$memcache->addServer($host, $port);
		$memcache->addServer($host2, $port2);

		$memcache1->set($balanceKey1, '', false, 2);
		$memcache1->set($balanceKey2, '', false, 2);
		$memcache2->set($balanceKey1, '', false, 2);
		$memcache2->set($balanceKey2, '', false, 2);

		$memcache->set($balanceKey1, $var1, false, 2);	// hashes to $host2
		$memcache->set($balanceKey2, $var2, false, 2);	// hashes to $host1

		$result4 = $memcache1->get($balanceKey1);	// return false; key1 is at $host2 
		$result5 = $memcache1->get($balanceKey2);
		$result6 = $memcache2->get($balanceKey1);	
		$result7 = $memcache2->get($balanceKey2);	// return false; key2 is at $host1

		var_dump($result4);
		var_dump($result5);
		var_dump($result6);
		var_dump($result7);
	}
}

?>
--EXPECT--

consistent:crc32
string(0) ""
string(5) "test2"
string(5) "test1"
string(0) ""

consistent:fnv
string(0) ""
string(5) "test2"
string(5) "test1"
string(0) ""

standard:crc32
string(0) ""
string(5) "test2"
string(5) "test1"
string(0) ""

standard:fnv
string(0) ""
string(5) "test2"
string(5) "test1"
string(0) ""