<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>

<title>Code Igniter User Guide</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript">
window.onload = function() {
	myHeight = new fx.Height('nav', {duration: 400}); 
	myHeight.hide();
}
</script>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='Rick Ellis' />
<meta name='description' content='Code Igniter User Guide' />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>Code Igniter User Guide Version 1.5.0</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Full Table of Contents</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://www.codeigniter.com/">Code Igniter Home</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
<a href="index.html">Database Library</a> &nbsp;&#8250;&nbsp;
Database Caching Class
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->


<br clear="all" />


<!-- START CONTENT -->
<div id="content">

<h1>Database Caching Class</h1>

<p>The Database Caching Class contains functions that permit you to cache your queries.</p>

<p class="important"><strong>Important:</strong>&nbsp; This class is initialized automatically by the database driver
when caching is enabled.  Do NOT load this class manually.
More info below...</p>

<h2>How Does Caching Work?</h2>

<p>When caching is enabled, anytime a "read" type query (SELECT) is run, the result object will
be serialized and stored in a text file on your server.  Subsequent calls to that query will use the result from the cache file 
rather then accessing your database. In other words, the first time a page is loaded a cache file will be written.
The next time the page is loaded the cached file will be used.</p>

<p>When a "write" type query (INSERT, UPDATE, etc.) is run , any cache files associated with the particular page being viewed
will be deleted automatically.  If you need to update some data with every page load (user stats, for example) you will 
need to manually disable caching just before running your "write" query, then re-enable it just
after. Otherwise, your site will be caught in a cycle of writing/deleting caches with every page view, creating more load then if you were not using
caching. More information on this will be found below.</p>


<p>Although caching will reduce your database load, dealing with cache files does generate more 
up-front processing and file-system operations, as cache files are created and read. Instead of accessing your database for information 
text files are used.</p>

<p>Whether you see a performance gain as a result of caching is dependant on many factors. 
For example, if you have a highly optimized database under very little load, you probably won't see a performance boost.
If your database is under heavy use you probably will see an improved response, assuming your filesystem is not 
overly taxed. In some clustered server environments caching may be detrimental since filesystem operations are so intense.
On single servers (particularly in shared enironments) caching will probably be beneficial. Unfortunately there is no
single answer to the question of whether you should cache your database.  It really depends on your situation.</p>

<h2>Enabling Caching</h2>

<p>Enabling caching requires three steps:</p>

<ul>
<li>Creating a directory on your server where the cache files will be written.</li>
<li>Setting the path to your cache folder in your <dfn>application/config/database.php</dfn> file.</li>
<li>Enalbling the caching preference either in your database config file or manually in your controllers.</li>
</ul>


<h2>Caching Example</h2>

<p>Here is an example showing how you can selectively cache some queries and not others.  Notice that the "write" type queries
are not.

<code>
// Turn OFF caching for this one query since we don't<br />
// want it to affect any existing cache files<br />
<kbd>$this->db->cache_off();</kbd><br />
<br />
$this->db->query("UPDATE web_stats SET page_views = page_views + 1");<br />
<br /><br />

// Re-enable caching<br />
<kbd>$this->db->cache_on();</kbd> <br />
<br />
$query = $this->db->query("SELECT * FROM blog LIMIT 10");<br />
<br />
foreach ($query->result() as $row)<br />
{<br />
	echo '&lt;h3>'.$row->title.'&lt;/h3>';<br />
	echo '&lt;p>'>.$row->content.'&lt;/p>';<br />
}<br />
<br />
$query = $this->db->query("SELECT page_views FROM web_stats");<br />
$row = $query->row();<br />
<br />
echo '&lt;p>'.$row->page_views.'&lt;/p>';<br />
<br />
// Update the web stats, so we turn off caching so that the cache<br />
// file for the above query doesn't get deleted<br />
<br />

</code>



















</div>
<!-- END CONTENT -->


<div id="footer">
<p>
Previous Topic:&nbsp;&nbsp;<a href="call_function.html">Custom Function Calls</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Next Topic:&nbsp;&nbsp;<a href="export.html">Database Export Class</a>
<p>
<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <a href="http://www.pmachine.com">pMachine, Inc.</a></p>
</div>

</body>
</html>