Heim  >  Artikel  >  Backend-Entwicklung  >  采用PEAR来缓冲PHP程序二_PHP教程

采用PEAR来缓冲PHP程序二_PHP教程

WBOY
WBOYOriginal
2016-07-13 17:29:04957Durchsuche

最后,我们来定制一个应用,综合的来解释 PEAR 缓冲机制的整体框架。 我们定义一个叫做 MySQL_Query_Cache 的类,缓冲 SELECT 的查询结果。 我们首先定义类的变量: ’.’, ’filename_prefix’ => ’cache_’), $expires = 3600) { $this->Cache($container, $container_options); $this->expires = $expires; } function _MySQL_Query_Cache() { if (is_resource($this->connection)) { mysql_close($this->connection); } $this->_Cache(); } } ?> 在正式开始之前,我们需要一些辅助函数。 function connect($hostname, $username, $password, $database) { $this->connection = mysql_connect($hostname, $username, $password) or trigger_error(’数据库连接失败!’, E_USER_ERROR); mysql_select_db($database, $this->connection) or trigger_error(’数据库选择失败!’, E_USER_ERROR); } function fetch_row() { if ($this->cursor result)) { return $this->result[$this->cursor++]; } else { return false; } } function num_rows() { return sizeof($this->result); } ?> 下面我们来看怎样缓冲: result = $this->get($cache_id, ’mysql_query_cache’); if ($this->result == NULL) { // 缓冲丢失 $this->cursor = 0; $this->result = array(); if (is_resource($this->connection)) { // 尽可能采用 mysql_unbuffered_query() if (function_exists(’mysql_unbuffered_query’)) {$result = mysql_unbuffered_query($query, $this->connection); } else {$result = mysql_query($query, $this->connection); } // 取出所有查询结果 while ($row = mysql_fetch_assoc($result)) {$this->result[] = $row; } // 释放 MySQL 结果资源 mysql_free_result($result); // 把结果缓冲 $this->save($cache_id, $this->result, $this->expires, ’mysql_query_cache’); } } } else { // 没有查询结果,不需要缓冲 return mysql_query($query, $this->connection); } } ?> 例 3: 使用 MySQL 查询缓冲 connect(’hostname’, ’username’, ’password’, ’database’); $cache->query(’select * from table’); while ($row = $cache->fetch_row()) { echo ’


’; print_r($row); echo ’
’; } ?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/531729.htmlTechArticle最后,我们来定制一个应用,综合的来解释 PEAR 缓冲机制的整体框架。 我们定义一个叫做 MySQL_Query_Cache 的类,缓冲 SELECT 的查询结果。 我...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn