我得到了下面的代码,如果调用,应该将查询数据保存到memcached中,并在那里存储600ms $response
是空的,变量堆上写着miss。知道我做错了什么吗?memcached服务器位于端口11211上 ps aux | grep memcached
告诉我。
$memcache = new Memcached();
$memcache->addServer("127.0.0.1", 11211);
$response = $memcache->get("test");
var_dump($response);
if ($response) {
var_dump('HIT');
$result = $response;
} else {
var_dump('MISS');
$sql = 'SELECT * FROM test WHERE bla BETWEEN "'.esc_sql($start).'" AND "'.esc_sql($end).'" ORDER BY datumbekanntgabe ASC';
$result = $this->mydb->get_results($sql);
$memcache->set("test", $result, 0, 600);
}
return $result;
1条答案
按热度按时间rkue9o1l1#
看起来好像是用0作为超时,在调用中。。。
在memcache中,第三个参数-0是
flag
用于压缩,而第四个是超时,在memcached中,虽然这个标志不存在,所以调用应该是