我正在使用PDO连接数据库,我想要在系统中实现memcached。
我不知道为缓存结果使用哪些键,因为我无法通过PDO获取最终查询的字符串(因为准备语句)。
有什么好的想法来解决这个问题吗?
提前感谢。
function query($name, $sql, $params, $db, $cache) {
$result = $this->cache->get($name);
if (!$result) {
$stmt = $db->prepare($sql);
$exec = $stmt->execute($params);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$cache->add($name, $result);
}
return $result;
}
$name = 'querycache-' . md5(serialize(array($sql, $params)));
。 - Frank Farmer