我一直在尝试使用Memcache来减少对mysql服务器的执行。 我查看了几个教程,无法弄清楚为什么以下代码返回false。有人可以帮助/解释为什么这不会返回真实。我认为来自sql的数据没有进入内存缓存,但我找不到如何正确实现它。它可以直接连接到sql server。 我已经根据该示例编辑了代码,但它仍然返回false。
$memcache = new Memcache;
$memcache->connect('127.0.0.1', 20069) or die('Error in Connection!');
$connect = new mysqli("...", "...", "...", "...");
// Check connection
if (mysqli_connect_errno())
{echo "Failed to connect to MySQL: " . mysqli_connect_error();}
$sort = md5("SELECT * FROM CarpetStyles where Manufacturer = 'Blossom'");
function database_result($sort, $expire = 60) {
$memcached_key = 'db:' . $sort;
$cached = $memcached->get($memcached_key);
if ($memcached->getResultCode() !== Memcached::RES_NOTFOUND)
{return $cached;}
$result_array = $result->fetchAll();
$memcached->set($memcached_key, $result_array, $expire);
return $result_array;
}