我可以在内存缓存上多次获取的键数限制是多少

she*_*ndz 5 php memcached key

所以在 PHP 中我们可以做$memcache->get(array('a','b','c'));
我想知道在事情发生之前键的限制是什么。我可以传递 1000 个密钥吗?10000 把钥匙?

我试图找到答案,但找不到任何地方。

有没有人有将大量密钥传递给memcache的经验?

Cha*_*les 4

根据以下测试, Memcached扩展在 getMulti 中支持至少100,000 个键:

php > $data = array_map(function($v){ return 'x' . $v; }, range(1, 100000));
php > foreach($data as $d) { $memcached->add($d, $d); }
php > $multi = $memcached->getMulti($data);
php > echo is_array($multi);
1
php > echo count($multi);
100000
Run Code Online (Sandbox Code Playgroud)

我试图将其增加到一百万,但我达到了配置的 PHP 内存限制,并立即决定,如果执行十万个项目的 getMulti还不够好,那么您可能正在滥用 memcached。