0

使用以下命令在我的 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);

connect()我的问题是与 memcache 的、set()get()命令相关的 Elasticache 语法是什么?我完全被AWS PHP SDK 的 Elasticache 部分弄糊涂了。

4

2 回答 2

2

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

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

$memcache->connect('myfirstcacheinstance.evdfes.0001.use1.cache.amazonaws.com', 11211);

您的 EC2 Linux 实例上不需要 memcache 服务器,拥有 php5-memcache PECL 扩展就足够了。

于 2012-09-09T17:20:28.260 回答
0

试试这个:

<?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

于 2013-08-19T12:40:37.197 回答