因此,我正在开发一个web应用程序--它必须为可伸缩性而构建。它将频繁的MySQL查询存储到缓存中。我已经准备好了几乎所有的东西--但我关心的是在哪里缓存数据的最佳实践。我和一些人谈过,其中一个人建议在所有的memcache节点上拆分每个键/值。
意思是如果我存储这个例子:'somekey','this is the value‘
它将被分到3个memcache服务器上。
这是一种更好的方式吗?或者memcache更多地建立在一对一的关系上?例如。
将值存储在服务器A上,直到它发生故障-转到服务器B并存储在那里。
这是我目前从我所做的研究和过去使用memcache的经验
我有一个简单的例子,我设置了一个5秒的值。问题是,在5秒后,我仍然得到一个值,而我期望的是'false‘。
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$memcache->set('foo', 'bar', 0, 5); // 5 seconds expiry
var_dump($memcache->get('foo')); // bar
当我尝试在php中使用memcache时,我已经成功地安装了php和memcached扩展。我编写了一个memtest.php来测试它并取得了成功。这是测试。
<?php
$memcache = new Memcache;
$memcache->connect('xxxxxx', 11211) or die ("Could not connect");
$memcache->set('key', 'test');
$get_value = $memcache->get('key');