mirror of
https://github.com/codeigniter4/CodeIgniter4.git
synced 2025-02-20 11:44:28 +08:00
652 lines
29 KiB
HTML
652 lines
29 KiB
HTML
|
|
|
|
<!DOCTYPE html>
|
|
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
|
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<title>Caching Driver — CodeIgniter4 4.0.0-alpha.2 documentation</title>
|
|
|
|
|
|
|
|
|
|
<link rel="shortcut icon" href="../_static/ci-icon.ico"/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../_static/css/citheme.css" type="text/css" />
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="top" title="CodeIgniter4 4.0.0-alpha.2 documentation" href="../index.html"/>
|
|
<link rel="up" title="Library Reference" href="index.html"/>
|
|
<link rel="next" title="CURLRequest Class" href="curlrequest.html"/>
|
|
<link rel="prev" title="Library Reference" href="index.html"/>
|
|
|
|
|
|
<script src="../_static/js/modernizr.min.js"></script>
|
|
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav" role="document">
|
|
|
|
|
|
<div class="wy-grid-for-nav">
|
|
|
|
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
<div class="wy-side-scroll">
|
|
<div class="wy-side-nav-search">
|
|
|
|
|
|
|
|
<a href="../index.html" class="icon icon-home"> CodeIgniter4
|
|
|
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
|
|
<div role="search">
|
|
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../intro/index.html">Welcome to CodeIgniter4</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../installation/index.html">Installation</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../concepts/index.html">CodeIgniter4 Overview</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../general/index.html">General Topics</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../incoming/index.html">Controllers and Routing</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../outgoing/index.html">Building Responses</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../database/index.html">Working With Databases</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../models/index.html">Modeling Data</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../dbmgmt/index.html">Managing Databases</a></li>
|
|
</ul>
|
|
<ul class="current">
|
|
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Library Reference</a><ul class="current">
|
|
<li class="toctree-l2 current"><a class="current reference internal" href="#">Caching Driver</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="curlrequest.html">CURLRequest Class</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="email.html">Email Class</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="files.html">Working with Files</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="honeypot.html">Honeypot Class</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="images.html">Image Manipulation Class</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="pagination.html">Pagination</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="security.html">Security Class</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="sessions.html">Session Library</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="throttler.html">Throttler</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="time.html">Dates and Times</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="typography.html">Typography</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="uploaded_files.html">Working with Uploaded Files</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="uri.html">Working with URIs</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="user_agent.html">User Agent Class</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="validation.html">Validation</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../helpers/index.html">Helpers</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../testing/index.html">Testing</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../cli/index.html">Command Line Usage</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../extending/index.html">Extending CodeIgniter</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../license.html">The MIT License (MIT)</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Change Log</a></li>
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
|
|
|
|
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
|
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="../index.html">CodeIgniter4</a>
|
|
|
|
</nav>
|
|
|
|
|
|
|
|
<div class="wy-nav-content">
|
|
<div class="rst-content">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
|
|
|
<ul class="wy-breadcrumbs">
|
|
|
|
<li><a href="../index.html">Docs</a> »</li>
|
|
|
|
<li><a href="index.html">Library Reference</a> »</li>
|
|
|
|
<li>Caching Driver</li>
|
|
|
|
|
|
<li class="wy-breadcrumbs-aside">
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
<hr/>
|
|
</div>
|
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
<div itemprop="articleBody">
|
|
|
|
<div class="section" id="caching-driver">
|
|
<h1>Caching Driver<a class="headerlink" href="#caching-driver" title="Permalink to this headline">¶</a></h1>
|
|
<p>CodeIgniter features wrappers around some of the most popular forms of
|
|
fast and dynamic caching. All but file-based caching require specific
|
|
server requirements, and a Fatal Exception will be thrown if server
|
|
requirements are not met.</p>
|
|
<div class="contents local topic" id="contents">
|
|
<ul class="simple">
|
|
<li><a class="reference internal" href="#example-usage" id="id1">Example Usage</a><ul>
|
|
<li><a class="reference internal" href="#configuring-the-cache" id="id2">Configuring the Cache</a></li>
|
|
<li><a class="reference internal" href="#class-reference" id="id3">Class Reference</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a class="reference internal" href="#drivers" id="id4">Drivers</a><ul>
|
|
<li><a class="reference internal" href="#file-based-caching" id="id5">File-based Caching</a></li>
|
|
<li><a class="reference internal" href="#memcached-caching" id="id6">Memcached Caching</a></li>
|
|
<li><a class="reference internal" href="#wincache-caching" id="id7">WinCache Caching</a></li>
|
|
<li><a class="reference internal" href="#redis-caching" id="id8">Redis Caching</a></li>
|
|
<li><a class="reference internal" href="#dummy-cache" id="id9">Dummy Cache</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="example-usage">
|
|
<h2><a class="toc-backref" href="#id1">Example Usage</a><a class="headerlink" href="#example-usage" title="Permalink to this headline">¶</a></h2>
|
|
<p>The following example shows a common usage pattern within your controllers.</p>
|
|
<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span> <span class="o">!</span> <span class="nv">$foo</span> <span class="o">=</span> <span class="nx">cache</span><span class="p">(</span><span class="s1">'foo'</span><span class="p">))</span>
|
|
<span class="p">{</span>
|
|
<span class="k">echo</span> <span class="s1">'Saving to the cache!<br />'</span><span class="p">;</span>
|
|
<span class="nv">$foo</span> <span class="o">=</span> <span class="s1">'foobarbaz!'</span><span class="p">;</span>
|
|
|
|
<span class="c1">// Save into the cache for 5 minutes</span>
|
|
<span class="nx">cache</span><span class="p">()</span><span class="o">-></span><span class="na">save</span><span class="p">(</span><span class="s1">'foo'</span><span class="p">,</span> <span class="nv">$foo</span><span class="p">,</span> <span class="mi">300</span><span class="p">);</span>
|
|
<span class="p">}</span>
|
|
|
|
<span class="k">echo</span> <span class="nv">$foo</span><span class="p">;</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>You can grab an instance of the cache engine directly through the Services class:</p>
|
|
<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$cache</span> <span class="o">=</span> <span class="nx">\Config\Services</span><span class="o">::</span><span class="na">cache</span><span class="p">();</span>
|
|
|
|
<span class="nv">$foo</span> <span class="o">=</span> <span class="nv">$cache</span><span class="o">-></span><span class="na">get</span><span class="p">(</span><span class="s1">'foo'</span><span class="p">);</span>
|
|
</pre></div>
|
|
</div>
|
|
<div class="section" id="configuring-the-cache">
|
|
<h3><a class="toc-backref" href="#id2">Configuring the Cache</a><a class="headerlink" href="#configuring-the-cache" title="Permalink to this headline">¶</a></h3>
|
|
<p>All configuration for the cache engine is done in <strong>application/Config/Cache.php</strong>. In that file,
|
|
the following items are available.</p>
|
|
<p><strong>$handler</strong></p>
|
|
<p>The is the name of the handler that should be used as the primary handler when starting up the engine.
|
|
Available names are: dummy, file, memcached, redis, wincache.</p>
|
|
<p><strong>$backupHandler</strong></p>
|
|
<p>In the case that the first choice $hanlder is not available, this is the next cache handler to load.
|
|
This is commonly the <strong>file</strong> handler since the file system is always available, but may not fit
|
|
more complex, multi-server setups.</p>
|
|
<p><strong>$prefix</strong></p>
|
|
<p>If you have more than one application using the same cache storage, you can add a custom prefix
|
|
here that is prepended to all key names.</p>
|
|
<p><strong>$path</strong></p>
|
|
<p>This is used by the <code class="docutils literal"><span class="pre">file</span></code> handler to show where it should save the cache files to.</p>
|
|
<p><strong>$memcached</strong></p>
|
|
<p>This is an array of servers that will be used when using the <code class="docutils literal"><span class="pre">Memcache(d)</span></code> handler.</p>
|
|
<p><strong>$redis</strong></p>
|
|
<p>The settings for the Redis server that you wish to use when using the <code class="docutils literal"><span class="pre">Redis</span></code> handler.</p>
|
|
</div>
|
|
<div class="section" id="class-reference">
|
|
<h3><a class="toc-backref" href="#id3">Class Reference</a><a class="headerlink" href="#class-reference" title="Permalink to this headline">¶</a></h3>
|
|
<dl class="method">
|
|
<dt id="isSupported">
|
|
<code class="descname">isSupported</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#isSupported" title="Permalink to this definition">¶</a></dt>
|
|
<dd><table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">TRUE if supported, FALSE if not</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">bool</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="get">
|
|
<code class="descname">get</code><span class="sig-paren">(</span><em>$key</em><span class="sig-paren">)</span><a class="headerlink" href="#get" title="Permalink to this definition">¶</a></dt>
|
|
<dd><table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>$key</strong> (<em>string</em>) – Cache item name</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Item value or FALSE if not found</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">mixed</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>This method will attempt to fetch an item from the cache store. If the
|
|
item does not exist, the method will return FALSE.</p>
|
|
<p>Example:</p>
|
|
<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$foo</span> <span class="o">=</span> <span class="nv">$cache</span><span class="o">-></span><span class="na">get</span><span class="p">(</span><span class="s1">'my_cached_item'</span><span class="p">);</span>
|
|
</pre></div>
|
|
</div>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="save">
|
|
<code class="descname">save</code><span class="sig-paren">(</span><em>$key</em>, <em>$data</em><span class="optional">[</span>, <em>$ttl = 60</em><span class="optional">[</span>, <em>$raw = FALSE</em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#save" title="Permalink to this definition">¶</a></dt>
|
|
<dd><table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>$key</strong> (<em>string</em>) – Cache item name</li>
|
|
<li><strong>$data</strong> (<em>mixed</em>) – the data to save</li>
|
|
<li><strong>$ttl</strong> (<em>int</em>) – Time To Live, in seconds (default 60)</li>
|
|
<li><strong>$raw</strong> (<em>bool</em>) – Whether to store the raw value</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">TRUE on success, FALSE on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">string</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>This method will save an item to the cache store. If saving fails, the
|
|
method will return FALSE.</p>
|
|
<p>Example:</p>
|
|
<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$cache</span><span class="o">-></span><span class="na">save</span><span class="p">(</span><span class="s1">'cache_item_id'</span><span class="p">,</span> <span class="s1">'data_to_cache'</span><span class="p">);</span>
|
|
</pre></div>
|
|
</div>
|
|
</dd></dl>
|
|
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">The <code class="docutils literal"><span class="pre">$raw</span></code> parameter is only utilized by Memcache,
|
|
in order to allow usage of <code class="docutils literal"><span class="pre">increment()</span></code> and <code class="docutils literal"><span class="pre">decrement()</span></code>.</p>
|
|
</div>
|
|
<dl class="method">
|
|
<dt id="delete">
|
|
<code class="descname">delete</code><span class="sig-paren">(</span><em>$key</em><span class="sig-paren">)</span><a class="headerlink" href="#delete" title="Permalink to this definition">¶</a></dt>
|
|
<dd><table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>$key</strong> (<em>string</em>) – name of cached item</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">TRUE on success, FALSE on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">bool</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>This method will delete a specific item from the cache store. If item
|
|
deletion fails, the method will return FALSE.</p>
|
|
<p>Example:</p>
|
|
<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$cache</span><span class="o">-></span><span class="na">delete</span><span class="p">(</span><span class="s1">'cache_item_id'</span><span class="p">);</span>
|
|
</pre></div>
|
|
</div>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="increment">
|
|
<code class="descname">increment</code><span class="sig-paren">(</span><em>$key</em><span class="optional">[</span>, <em>$offset = 1</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#increment" title="Permalink to this definition">¶</a></dt>
|
|
<dd><table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>$key</strong> (<em>string</em>) – Cache ID</li>
|
|
<li><strong>$offset</strong> (<em>int</em>) – Step/value to add</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">New value on success, FALSE on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">mixed</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>Performs atomic incrementation of a raw stored value.</p>
|
|
<p>Example:</p>
|
|
<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="c1">// 'iterator' has a value of 2</span>
|
|
|
|
<span class="nv">$cache</span><span class="o">-></span><span class="na">increment</span><span class="p">(</span><span class="s1">'iterator'</span><span class="p">);</span> <span class="c1">// 'iterator' is now 3</span>
|
|
|
|
<span class="nv">$cache</span><span class="o">-></span><span class="na">increment</span><span class="p">(</span><span class="s1">'iterator'</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span> <span class="c1">// 'iterator' is now 6</span>
|
|
</pre></div>
|
|
</div>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="decrement">
|
|
<code class="descname">decrement</code><span class="sig-paren">(</span><em>$key</em><span class="optional">[</span>, <em>$offset = 1</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#decrement" title="Permalink to this definition">¶</a></dt>
|
|
<dd><table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>$key</strong> (<em>string</em>) – Cache ID</li>
|
|
<li><strong>$offset</strong> (<em>int</em>) – Step/value to reduce by</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">New value on success, FALSE on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">mixed</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>Performs atomic decrementation of a raw stored value.</p>
|
|
<p>Example:</p>
|
|
<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="c1">// 'iterator' has a value of 6</span>
|
|
|
|
<span class="nv">$cache</span><span class="o">-></span><span class="na">decrement</span><span class="p">(</span><span class="s1">'iterator'</span><span class="p">);</span> <span class="c1">// 'iterator' is now 5</span>
|
|
|
|
<span class="nv">$cache</span><span class="o">-></span><span class="na">decrement</span><span class="p">(</span><span class="s1">'iterator'</span><span class="p">,</span> <span class="mi">2</span><span class="p">);</span> <span class="c1">// 'iterator' is now 3</span>
|
|
</pre></div>
|
|
</div>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="clean">
|
|
<code class="descname">clean</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#clean" title="Permalink to this definition">¶</a></dt>
|
|
<dd><table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">TRUE on success, FALSE on failure</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">bool</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>This method will ‘clean’ the entire cache. If the deletion of the
|
|
cache files fails, the method will return FALSE.</p>
|
|
<p>Example:</p>
|
|
<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$cache</span><span class="o">-></span><span class="na">clean</span><span class="p">();</span>
|
|
</pre></div>
|
|
</div>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="cache_info">
|
|
<code class="descname">cache_info</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#cache_info" title="Permalink to this definition">¶</a></dt>
|
|
<dd><table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Information on the entire cache database</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">mixed</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>This method will return information on the entire cache.</p>
|
|
<p>Example:</p>
|
|
<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nb">var_dump</span><span class="p">(</span><span class="nv">$cache</span><span class="o">-></span><span class="na">cache_info</span><span class="p">());</span>
|
|
</pre></div>
|
|
</div>
|
|
</dd></dl>
|
|
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">The information returned and the structure of the data is dependent
|
|
on which adapter is being used.</p>
|
|
</div>
|
|
<dl class="method">
|
|
<dt id="getMetadata">
|
|
<code class="descname">getMetadata</code><span class="sig-paren">(</span><em>$key</em><span class="sig-paren">)</span><a class="headerlink" href="#getMetadata" title="Permalink to this definition">¶</a></dt>
|
|
<dd><table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>$key</strong> (<em>string</em>) – Cache item name</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Metadata for the cached item</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">mixed</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>This method will return detailed information on a specific item in the
|
|
cache.</p>
|
|
<p>Example:</p>
|
|
<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nb">var_dump</span><span class="p">(</span><span class="nv">$cache</span><span class="o">-></span><span class="na">getMetadata</span><span class="p">(</span><span class="s1">'my_cached_item'</span><span class="p">));</span>
|
|
</pre></div>
|
|
</div>
|
|
</dd></dl>
|
|
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">The information returned and the structure of the data is dependent
|
|
on which adapter is being used.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="drivers">
|
|
<h2><a class="toc-backref" href="#id4">Drivers</a><a class="headerlink" href="#drivers" title="Permalink to this headline">¶</a></h2>
|
|
<div class="section" id="file-based-caching">
|
|
<h3><a class="toc-backref" href="#id5">File-based Caching</a><a class="headerlink" href="#file-based-caching" title="Permalink to this headline">¶</a></h3>
|
|
<p>Unlike caching from the Output Class, the driver file-based caching
|
|
allows for pieces of view files to be cached. Use this with care, and
|
|
make sure to benchmark your application, as a point can come where disk
|
|
I/O will negate positive gains by caching.</p>
|
|
</div>
|
|
<div class="section" id="memcached-caching">
|
|
<h3><a class="toc-backref" href="#id6">Memcached Caching</a><a class="headerlink" href="#memcached-caching" title="Permalink to this headline">¶</a></h3>
|
|
<p>Multiple Memcached servers can be specified in the cache configuration file.</p>
|
|
<p>For more information on Memcached, please see
|
|
<a class="reference external" href="http://php.net/memcached">http://php.net/memcached</a>.</p>
|
|
</div>
|
|
<div class="section" id="wincache-caching">
|
|
<h3><a class="toc-backref" href="#id7">WinCache Caching</a><a class="headerlink" href="#wincache-caching" title="Permalink to this headline">¶</a></h3>
|
|
<p>Under Windows, you can also utilize the WinCache driver.</p>
|
|
<p>For more information on WinCache, please see
|
|
<a class="reference external" href="http://php.net/wincache">http://php.net/wincache</a>.</p>
|
|
</div>
|
|
<div class="section" id="redis-caching">
|
|
<h3><a class="toc-backref" href="#id8">Redis Caching</a><a class="headerlink" href="#redis-caching" title="Permalink to this headline">¶</a></h3>
|
|
<p>Redis is an in-memory key-value store which can operate in LRU cache mode.
|
|
To use it, you need <a class="reference external" href="https://github.com/phpredis/phpredis">Redis server and phpredis PHP extension</a>.</p>
|
|
<p>Config options to connect to redis server must be stored in the application/config/redis.php file.
|
|
Available options are:</p>
|
|
<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$config</span><span class="p">[</span><span class="s1">'host'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'127.0.0.1'</span><span class="p">;</span>
|
|
<span class="nv">$config</span><span class="p">[</span><span class="s1">'password'</span><span class="p">]</span> <span class="o">=</span> <span class="k">NULL</span><span class="p">;</span>
|
|
<span class="nv">$config</span><span class="p">[</span><span class="s1">'port'</span><span class="p">]</span> <span class="o">=</span> <span class="mi">6379</span><span class="p">;</span>
|
|
<span class="nv">$config</span><span class="p">[</span><span class="s1">'timeout'</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>For more information on Redis, please see
|
|
<a class="reference external" href="http://redis.io">http://redis.io</a>.</p>
|
|
</div>
|
|
<div class="section" id="dummy-cache">
|
|
<h3><a class="toc-backref" href="#id9">Dummy Cache</a><a class="headerlink" href="#dummy-cache" title="Permalink to this headline">¶</a></h3>
|
|
<p>This is a caching backend that will always ‘miss.’ It stores no data,
|
|
but lets you keep your caching code in place in environments that don’t
|
|
support your chosen cache.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<div class="articleComments">
|
|
|
|
</div>
|
|
</div>
|
|
<footer>
|
|
|
|
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
|
|
|
<a href="curlrequest.html" class="btn btn-neutral float-right" title="CURLRequest Class" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
|
|
|
|
|
|
<a href="index.html" class="btn btn-neutral" title="Library Reference" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
|
|
|
</div>
|
|
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>
|
|
© Copyright 2014-2018 British Columbia Institute of Technology.
|
|
Last updated on Nov 11, 2018.
|
|
|
|
</p>
|
|
</div>
|
|
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
|
|
</footer>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT:'../',
|
|
VERSION:'4.0.0-alpha.2',
|
|
COLLAPSE_INDEX:false,
|
|
FILE_SUFFIX:'.html',
|
|
HAS_SOURCE: false,
|
|
SOURCELINK_SUFFIX: ''
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="../_static/jquery.js"></script>
|
|
<script type="text/javascript" src="../_static/underscore.js"></script>
|
|
<script type="text/javascript" src="../_static/doctools.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="../_static/js/theme.js"></script>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
jQuery(function () {
|
|
SphinxRtdTheme.StickyNav.enable();
|
|
});
|
|
</script>
|
|
|
|
|
|
</body>
|
|
</html> |