blob: db3725b7ae935bd660525112e6254e7aad6ecbcb [file] [log] [blame]
adminb0dd10f2006-08-25 17:25:49 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html>
3<head>
4
Derek Allard404e35d2007-08-07 01:00:45 +00005<title>CodeIgniter User Guide : Web Page Caching</title>
adminb0dd10f2006-08-25 17:25:49 +00006
7<style type='text/css' media='all'>@import url('../userguide.css');</style>
8<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
9
admin17a890d2006-09-27 20:42:42 +000010<script type="text/javascript" src="../nav/nav.js"></script>
admin2296fc32006-09-27 21:07:02 +000011<script type="text/javascript" src="../nav/prototype.lite.js"></script>
admin17a890d2006-09-27 20:42:42 +000012<script type="text/javascript" src="../nav/moo.fx.js"></script>
adminb0dd10f2006-08-25 17:25:49 +000013<script type="text/javascript">
14window.onload = function() {
admine334c472006-10-21 19:44:22 +000015 myHeight = new fx.Height('nav', {duration: 400});
adminb0dd10f2006-08-25 17:25:49 +000016 myHeight.hide();
17}
18</script>
19
20<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
21<meta http-equiv='expires' content='-1' />
22<meta http-equiv= 'pragma' content='no-cache' />
23<meta name='robots' content='all' />
24<meta name='author' content='Rick Ellis' />
Derek Allardd2df9bc2007-04-15 17:41:17 +000025<meta name='description' content='CodeIgniter User Guide' />
adminb0dd10f2006-08-25 17:25:49 +000026
27</head>
28<body>
29
30<!-- START NAVIGATION -->
31<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
32<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>
33<div id="masthead">
34<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
35<tr>
Derek Allard60ca9b72007-07-12 19:53:27 +000036<td><h1>CodeIgniter User Guide Version 1.5.4</h1></td>
adminc0d5d522006-10-30 19:40:35 +000037<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
adminb0dd10f2006-08-25 17:25:49 +000038</tr>
39</table>
40</div>
41<!-- END NAVIGATION -->
42
43
44<!-- START BREADCRUMB -->
45<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
46<tr>
47<td id="breadcrumb">
Derek Allardd2df9bc2007-04-15 17:41:17 +000048<a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
adminb0dd10f2006-08-25 17:25:49 +000049<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
50Page Caching
51</td>
Derek Allardbc030912007-06-24 18:25:29 +000052<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="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>
adminb0dd10f2006-08-25 17:25:49 +000053</tr>
54</table>
55<!-- END BREADCRUMB -->
56
57<br clear="all" />
58
59
60<!-- START CONTENT -->
61<div id="content">
62
63
64<h1>Web Page Caching</h1>
65
Derek Allardc6441282007-07-04 23:54:32 +000066<p>CodeIgniter lets you cache your pages in order to achieve maximum performance.</p>
adminb0dd10f2006-08-25 17:25:49 +000067
Derek Allardc6441282007-07-04 23:54:32 +000068<p>Although CodeIgniter is quite fast, the amount of dynamic information you display in your pages will correlate directly to the
admine334c472006-10-21 19:44:22 +000069server resources, memory, and processing cycles utilized, which affect your page load speeds.
Derek Allardc6441282007-07-04 23:54:32 +000070By caching your pages, since they are saved in their fully rendered state, you can achieve performance that nears that of static web pages.</p>
adminb0dd10f2006-08-25 17:25:49 +000071
72
73<h2>How Does Caching Work?</h2>
74
75<p>Caching can be enabled on a per-page basis, and you can set the length of time that a page should remain cached before being refreshed.
76When a page is loaded for the first time, the cache file will be written to your <dfn>system/cache</dfn> folder. On subsequent page loads the cache file will be retrieved
77and sent to the requesting user's browser. If it has expired, it will be deleted and refreshed before being sent to the browser.</p>
78
79<p>Note: The Benchmark tag is not cached so you can still view your page load speed when caching is enabled.</p>
80
81<h2>Enabling Caching</h2>
82
83<p>To enable caching, put the following tag in any of your controller functions:</p>
84
85<code>$this->output->cache(<var>n</var>);</code>
86
87<p>Where <var>n</var> is the number of <strong>minutes</strong> you wish the page to remain cached between refreshes.</p>
88
89<p>The above tag can go anywhere within a function. It is not affected by the order that it appears, so place it wherever it seems
90most logical to you. Once the tag is in place, your pages will begin being cached.</p>
91
Derek Allard69693932007-10-02 20:04:33 +000092<p class="important"><strong>Warning:</strong> Because of the way CodeIgniter stores content for output, caching will only work if you are generating display for your controller with a <a href="./views.html">view</a>.</p>
adminb0dd10f2006-08-25 17:25:49 +000093<p class="important"><strong>Note:</strong> Before the cache files can be written you must set the file permissions on your
94<dfn>system/cache</dfn> folder such that it is writable (666 is usually appropriate).</p>
95
96<h2>Deleting Caches</h2>
97
Rick Ellis325197e2006-11-20 17:29:05 +000098<p>If you no longer wish to cache a file you can remove the caching tag and it will no longer be refreshed when it expires. Note:
adminb0dd10f2006-08-25 17:25:49 +000099Removing the tag will not delete the cache immediately. It will have to expire normally. If you need to remove it earlier you
100will need to manually delete it from your cache folder.</p>
101
102
103
104</div>
105<!-- END CONTENT -->
106
107
108<div id="footer">
109<p>
110Previous Topic:&nbsp;&nbsp;<a href="errors.html">Error Handling</a>
111&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
112<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
113<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Derek Allard41859612007-04-01 16:38:46 +0000114Next Topic:&nbsp;&nbsp;<a href="profiling.html">Profiling Your Application</a>
Derek Allardc6441282007-07-04 23:54:32 +0000115</p>
Derek Allardd2df9bc2007-04-15 17:41:17 +0000116<p><a href="http://www.codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2007 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
adminb0dd10f2006-08-25 17:25:49 +0000117</div>
118
119</body>
120</html>