<!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">Linear 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 permits you to cache your queries as text files for reduced database load.</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.<br /><br />

<strong>Also note:</strong>&nbsp; Not all query result functions are available when you use caching. Please read this page carefully.</p>

<h2>Enabling Caching</h2>

<p>Caching is enabled in three steps:</p>

<ul>
<li>Create a writable directory on your server where the cache files can be stored.</li>
<li>Set the path to your cache folder in your <dfn>application/config/database.php</dfn> file.</li>
<li>Enable the caching feature, either globally by setting the preference in your <dfn>application/config/database.php</dfn> file, or manually as described below.</li>
</ul>

<p>Once enabled, caching will happen automatically whenever a page is loaded that contains database queries.</p>


<h2>How Does Caching Work?</h2>

<p>Code Igniter's query caching system happens dynamically when your pages are viewed.
When caching is enabled, the first time a web page is loaded, the query result object will
be serialized and stored in a text file on your server. The next time the page is loaded the cache file will be used instead of
accessing your database.  Your database usage can effectively be reduced to zero for any pages that have been cached.</p>

<p>Only <dfn>read-type</dfn> (SELECT) queries can be cached, since these are the only type of queries that produce a result.
<dfn>Write-type</dfn> (INSERT, UPDATE, etc.) queries, since they don't generate a result, will not be cached by the system.</p>

<p>Cache files DO NOT expire.  Any queries that have been cached will remain cached until you delete them.  The caching system
permits you clear caches associated with individual pages, or you can delete the entire collection of cache files.
Typically you'll to use the housekeeping functions described below to delete cache files after certain
events take place, like when you've added new information to your database.</p>

<h2>Will Caching Improve Your Site's Performance?</h2>

<p>Getting a performance gain as a result of caching depends on many factors.
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 file-system is not
overly taxed.  Remember that caching simply changes how your information is retrieved, shifting it from being a database
operation to a file-system one.</p>

<p>In some clustered server environments, for example, caching may be detrimental since file-system operations are so intense.
On single servers in shared environments, 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>How are Cache Files Stored?</h2>

<p>Code Igniter places the result of EACH query into its own cache file.  Sets of cache files are further organized into
sub-folders corresponding to your controller functions.  To be precise, the sub-folders are named identically to the
first two segments of your URI (the controller class name and function name).</p>

<p>For example, let's say you have a controller called <dfn>blog</dfn> with a function called <dfn>comments</dfn> that
contains three queries.  The caching system will create a cache folder
called <kbd>blog+comments</kbd>, into which it will write three cache files.</p>

<p>If you use dynamic queries that change based on information in your URI (when using pagination, for example), each instance of
the query will produce its own cache file.  It's possible, therefore, to end up with many times more cache files than you have
queries.</p>


<h2>Managing your Cache Files</h2>

<p>Since cache files do not expire, you'll need to build deletion routines into your application.  For example, let's say you have a blog
that allows user commenting.  Whenever a new comment is submitted you'll want to delete the cache files associated with the
controller function that serves up your comments.  You'll find two delete functions described below that help you
clear data.</p>


<h2>Not All Database Functions Work with Caching</h2>

<p>Lastly, we need to point out that the result object that is cached is a simplified version of the full result object. For that reason,
some of the query result functions are not available for use.</p>

<p>The following functions <kbd>ARE NOT</kbd> available when using a cached result object:</p>

<ul>
<li>num_fields()</li>
<li>field_names()</li>
<li>field_data()</li>
<li>free_result()</li>
</ul>

<p>Also, the two database resources (result_id and conn_id) are not available when caching, since result resources only
pertain to run-time operations.</p>


<br />

<h1>Function Reference</h1>



<h2>$this->db->cache_on()&nbsp; / &nbsp; $this->db->cache_off()</h2>

<p>Manually enables/disables caching.  This can be useful if you want to
keep certain queries from being cached.  Example:</p>

<code>
// Turn caching on<br />
$this->db->cache_on();<br />
$query = $this->db->query("SELECT * FROM mytable");<br />
<br />
// Turn caching off for this one query<br />
$this->db->cache_off();<br />
$query = $this->db->query("SELECT * FROM members WHERE member_id = '$current_user'");<br />
<br />
// Turn caching back on<br />
$this->db->cache_on();<br />
$query = $this->db->query("SELECT * FROM another_table");
</code>


<h2>$this->db->cache_delete()</h2>

<p>Deletes the cache files associated with a particular page. This is useful if you need to clear caching after you update your database.</p>

<p>The caching system saves your cache files to folders that correspond to the URI of the page you are viewing.  For example, if you are viewing
a page at <dfn>www.your-site.com/index.php/blog/comments</dfn>, the caching system will put all cache files associated with it in a folder
called <dfn>blog+comments</dfn>.  To delete those particular cache files you will use:</p>

<code>$this->db->cache_delete('blog', 'comments');</code>

<p>If you do not use any parameters the current URI will be used when determining what should be cleared.</p>


<h2>$this->db->cache_delete_all()</h2>

<p>Clears all existing cache files.  Example:</p>

<code>$this->db->cache_delete_all();</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>