Набор AWS Elasticache + ()

Я могу заставить .set () работать при взаимодействии с Elasticache, если я использую настройки сжатия и времени (третья и четвертая настройки)

 $memcached = new Memcached();
 $memcached->setOption(Memcached::OPT_CLIENT_MODE, Memcached::DYNAMIC_CLIENT_MODE);
 $memcached->addServer('goneglobalcache-1a.expalp.cfg.apse1.cache.amazonaws.com', 11211);
 $memcached->set('key', 'value', 60);

 $memcached->set('tester', 'set tester...', 0, 600);
 echo $memcached->get('tester');

Если я удалю последние 2 элемента set (), он будет работать, например:

 $memcached->set('tester', 'set tester...');
 echo $memcached->get('tester');

Я впервые использовал memcached / elasticache - есть ли причина, по которой это не сработает? Примечание: add () работает так же хорошо, пока я использую только части ключа / значения, а не части сжатия / времени.

любой совет?

Спасибо


person Adam    schedule 27.01.2013    source источник


Ответы (1)


public bool Memcached::set ( string $key , mixed $value [, int $expiration ] )

В методе set нет флага сжатия, он находится в Memcache, а не в Memcached.

$memcached->set('tester', 'set tester...', 600);
person epicdev    schedule 27.01.2013
comment
Я думал, мне нужно использовать memcached, потому что он новее и лучше? Есть ли способ изменить это или aws elasticache основан на Memcache, а не на memcached? - person Adam; 27.01.2013
comment
Memcached и Memcache - это расширения PHP для работы с серверами memcache, поэтому вы можете выбрать любое из этих двух. Memcached имеет немного больше функций, чем Memcache. php.net/manual/fr/class.memcached.php php.net/manual/fr/book.memcache.php Так что да, memcached - хороший выбор. - person epicdev; 27.01.2013