我正在实现一个memcache来缓存mysql查询结果。
它使用
循环通过mysql结果while($rowP3= mysql_fetch_array($result3)) {
或者它通过memcached结果循环(如果它们保存在memcache中,而不是过期)通过
foreach($cch_active_users_final as $rowP3) {
这可能是非常明显的事情......但我没有得到它。
如何根据memcached值是否存在显示正确的循环方法。我只是想让它选择正确的循环方法。我可以用它的所有内容复制整个while {}函数,但是我不想重复那么大的代码块,只是因为我可以在foreach中进行更改
任何提示?
答案 0 :(得分:2)
逻辑应该是这样的:
(部分伪代码)
$data = get_memcached_data('cch_active_users_final');
if (!$data) {
$query = mysql_query(..);
$data = array();
while($row = mysql_fetch_array()) {
$data[] = $row;
}
store_in_memcache('cch_active_users_final', $data);
}
// do whatever you want with $data
答案 1 :(得分:1)
如果我理解你的问题,这段代码没有意义。查询数据库后,将查询结果与缓存值进行比较是没有意义的。
答案 2 :(得分:0)
你没有,你使用PDO使用unified method。
答案 3 :(得分:0)
如果$ row和$ rowP3值包含相同的数据,则可以在函数的循环中发生任何事情,并将该行作为参数传递。