PHP随机化一个数组

时间:2016-12-31 05:26:57

标签: php arrays

我使用数组作为“负载均衡”几个RTMP服务器的尝试。

$servers = array(
'1.1.1.1',
'2.2.2.2',
);
$edge = $servers[array_rand($settings)];

但是这段代码没什么用;我在另一台服务器2k上最终得到3k。

我正在考虑利用APC并缓存最后给出的IP,以便跟踪用户之间更好的IP分配。

我需要的就是这个人获得ip 1.1.1.1下一个获取ip 2.2.2.2以维持服务器的用户范围更近,而不是3k用户而不是2k用户。

我可以使用MySQL,但我可能会用所有请求锤击服务器。

我能够正确分配ips的最佳方式是什么?

2 个答案:

答案 0 :(得分:1)

这是一个简单的示例,说明如何使用php memcached循环三个数组键:

$ make clean
$ ./Configure darwin64-x86_64-cc no-asm
$ make test
$ make 
....

答案 1 :(得分:0)

在放弃随机化方法之前,您应该尝试mt_rand功能。它产生的随机结果比randarray_rand更多。

$servers = array(
    '1.1.1.1',
    '2.2.2.2',
);
$num_servers = count( $servers );
$edge = $servers[ mt_rand( 0, $num_servers - 1 ) ];