0

簡単な質問で申し訳ありませんが、私がこれを正しく行っていることを確認したいだけです。memcache 変数の有効期限を確認し、有効期限が切れていない場合にのみデータベースに再度クエリを実行するにはどうすればよいですか? empty()必要なのはそれだけですか?

ここに私のコードがあります:

$memcache = new Memcache;
$memcache->connect('localhost', 11211);

$dbQuery=$memcache->get('dbQuery');

if(empty($dbQuery)){
    $dbQuery=$this->db->query("SELECT * FROM items WHERE ...");
    $memcache->set('dbQuery', $dbQuery, false, 60*60);
    $dbQuery=$memcache->get('dbQuery');
}
else{
}
return $dbQuery;
4

1 に答える 1

3

I do it the following way:

$result = $memcache->get($some_key);

if( $result === false ) {
//set() key stuff goes here
}

return $result;

get() returns FALSE if the key is not found. http://www.php.net/manual/en/memcache.get.php

于 2012-08-25T13:14:54.210 に答える