blob: bf6ed50f6ffa0c0744b8931fc4e715179e0249c1 [file] [log] [blame]
Derek Jones8ede1a22011-10-05 13:34:52 -05001################
2Web Page Caching
3################
4
5CodeIgniter lets you cache your pages in order to achieve maximum
6performance.
7
8Although CodeIgniter is quite fast, the amount of dynamic information
9you display in your pages will correlate directly to the server
10resources, memory, and processing cycles utilized, which affect your
11page load speeds. By caching your pages, since they are saved in their
12fully rendered state, you can achieve performance that nears that of
13static web pages.
14
15How Does Caching Work?
16======================
17
18Caching can be enabled on a per-page basis, and you can set the length
19of time that a page should remain cached before being refreshed. When a
20page is loaded for the first time, the cache file will be written to
21your application/cache folder. On subsequent page loads the cache file
22will be retrieved and sent to the requesting user's browser. If it has
23expired, it will be deleted and refreshed before being sent to the
24browser.
25
26Note: The Benchmark tag is not cached so you can still view your page
27load speed when caching is enabled.
28
29Enabling Caching
30================
31
32To enable caching, put the following tag in any of your controller
33functions::
34
35 $this->output->cache(n);
36
37Where n is the number of **minutes** you wish the page to remain cached
38between refreshes.
39
40The above tag can go anywhere within a function. It is not affected by
41the order that it appears, so place it wherever it seems most logical to
42you. Once the tag is in place, your pages will begin being cached.
43
Derek Jonesaf8da302011-10-05 17:40:07 -050044.. important:: Because of the way CodeIgniter stores content for output,
45 caching will only work if you are generating display for your controller
46 with a :doc:`view <./views>`.
Derek Jones8ede1a22011-10-05 13:34:52 -050047
48.. note:: Before the cache files can be written you must set the file
49 permissions on your application/cache folder such that it is writable.
50
51Deleting Caches
52===============
53
54If you no longer wish to cache a file you can remove the caching tag and
55it will no longer be refreshed when it expires. Note: Removing the tag
56will not delete the cache immediately. It will have to expire normally.
57If you need to remove it earlier you will need to manually delete it
58from your cache folder.