Memcached не сохраняет сгенерированные данные - PullRequest
0 голосов
/ 30 октября 2018

Я получил следующий код, который должен сохранять данные запроса в Memcached при вызове и сохранять их там в течение 600 мс. Но каждый раз, когда я загружаю страницу, $response пусто и var_dump говорит 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 Ответ

0 голосов
/ 30 октября 2018

Похоже, что он использовал 0 в качестве таймаута в вызове ...

$memcache->set("test", $result, 0, 600);

В memcache , третий параметр - 0 - это flag, используемый для сжатия, в то время как четвертый - тайм-аут, в memcached , хотя этот флаг отсутствует, поэтому звонок должен быть

$memcache->set("test", $result, 600);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...