Elasticache语法与Memcache语法(使用PHP)有何关联?

Elasticache语法与Memcache语法(使用PHP)有何关联?,php,caching,amazon-web-services,memcached,amazon-elasticache,Php,Caching,Amazon Web Services,Memcached,Amazon Elasticache,在我的EC2 Linux实例上安装memcache后,请使用以下命令: :~$ sudo apt-get install memcached php5-memcache 我可以立即这样做: $memcache = new Memcache; $memcache->connect('localhost', 11211); $array_result=$this->db->query("SELECT * where ...."); // some DB query $memca

在我的EC2 Linux实例上安装memcache后,请使用以下命令:

:~$ sudo apt-get install memcached php5-memcache
我可以立即这样做:

$memcache = new Memcache;
$memcache->connect('localhost', 11211);

$array_result=$this->db->query("SELECT * where ...."); // some DB query
$memcache->set('my_items', $array_result, false, 60*60*24);    
以后可以像这样访问此缓存阵列:

$memcache = new Memcache;
$memcache->connect('localhost', 11211);
$my_items=$memcache->get('my_items');
var_dump($my_items);

我的问题是,与memcache的
connect()
set()
get()
命令相关联的Elasticache语法是什么?我完全被这个问题弄糊涂了。

您需要创建elasticache节点(AWS管理控制台),您可以通过memcache客户端连接到该节点,请查看

如果您想用代码控制缓存节点,那么应该使用Elasticache SDK

$memcache->connect('myfirstcacheinstance.evdfes.0001.use1.cache.amazonaws.com', 11211);
EC2 Linux实例上不需要memcache服务器,只要有php5 memcache PECL扩展就足够了。

试试这个:

<?php

$server_endpoint = "xxx.xx.xfg.sae1.cache.amazonaws.com";
$server_port = 11211;

if (version_compare(PHP_VERSION, '5.4.0') < 0) {
    //PHP 5.3 with php-pecl-memcache
    $client = new Memcache;
    $client->connect($server_endpoint, $server_port);
    //If you need debug see $client->getExtendedStats();
    $client->set('myKey', 'My Value PHP 5.3');
} else {
    //PHP 5.4 with php54-pecl-memcached:
    $client = new Memcached;
    $client->addServer($server_endpoint, $server_port);
    $client->set('myKey', 'My Value PHP 5.4');
}

echo 'Data in the cluster: [' . $client->get('myKey') . ']';

-@Aurimas谢谢你,你能在你的回答中添加一些演示代码,让我看看缓存节点代码与我的代码相比是什么样子的吗?所有的艰苦工作都在AWS管理控制台上:),当你像《入门指南》中描述的那样创建它时,你可以像现在一样连接到elasticache,只是主机名不同而已。-@Aurimus,再次感谢,最后一个问题:我想使用Elastic Beanstalk创建我的实例,我不确定它们是否安装了php5 memcache PECL扩展。也就是说,我不知道如何实例化新的Memcache对象(
$Memcache=newmemcache;
)。连接后是否可以实例化?如果缺少memcached扩展,则需要自定义beanstalk实例,请查看AWS Elastic beanstalk的PHP容器默认安装了(旧)Memcache和(新)memcached扩展。