通过缓存数据库结果提高PHP性能之三

文章作者 100test 发表时间 2007:03:14 13:36:12
来源 100Test.Com百考试题网


  清单 7. 使用 PEAR::Cache_Lite 缓存

//File:testCache.php
require_once getOrderItems.php.
require_once getOrderFields.php.
require_once Cache/Lite/Function.php.
$options = array(
cacheDir => /tmp/,
lifeTime => 86400
).
if (!isset($_GET[order_no])) {
die(The order_no parameter is required).
}
$order_no=$_GET[order_no].
$cache = new Cache_Lite_Function($options).
if ($orderfields = $cache->call(getOrderFields, $order_no)){
print "

ORDER #$order_no

\n".
print ">".
print "DATE:".$orderfields[ORDER_DATE]."".
print "CUST_ID:".$orderfields[CUSTOMER_ID]."".
print "TOTAL:".$orderfields[ORDER_TOTAL]."".
print "".
} else {
print "Some problem occurred while getting order fields!\n".
$cache->0drop(getOrderFields, $order_no).
}
if (list($nrows, $orderitems) = $cache->call(getOrderItems, $order_no)){
//print "

LINE ITEMS IN ORDER #$order_no

".
print " border=1>".
print "\n".
while (list($key, $value) = each($orderitems)) {
print "$key\n".
}
print "\n".
for ($i = 0. $i < $nrows. $i ) {
print "".
print "".$orderitems[ORDER_ID][$i]."".
print "".$orderitems[LINE_ITEM_ID][$i]."".
print "".$orderitems[PRODUCT_ID][$i]."".
print "".$orderitems[UNIT_PRICE][$i]."".
print "".$orderitems[QUANTITY][$i]."".
print "".
}
print "".
} else {
print "Some problem occurred while getting order line items".
$cache->0drop(getOrderItems, $order_no).
}
?>

  “ 清单 7”中的 testCache.php 脚本应与 order_no URL 参数(代表 OE.ORDER 表中存储的订单 ID)一起被调用。例如,要检索与 ID 为 2408 的订单相关的信息,浏览器将生成以下输出:

ORDER #2408



相关文章


如何有效地利用oracle的数据字典
在Oracle中返回多个结果集的处理
通过缓存数据库结果提高PHP性能之二
通过缓存数据库结果提高PHP性能之一
通过缓存数据库结果提高PHP性能之三
Oracle数据库的后台进程管理技术介绍
浅谈Oracle中RTRIM的用法
Oracle、IBM、BEA服务器的基准测试和比较
Oracle中有效的Drop一张大表
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛