在我的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语法是什么?我完全被AWS PHP SDK的Elasticache部分弄糊涂了。
您需要创建elasticache节点(AWS管理控制台),可以通过memcache客户端连接到该节点,请参阅入门指南。
如果你想用你的代码控制你的缓存节点,那么你应该使用Elasticache SDK。
$memcache->connect('myfirstcacheinstance.evdfes.0001.use1.cache.amazonaws.com', 11211);
EC2Linux实例上不需要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') . ']';
确保您已允许端口11211 上的OUTPUT