summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/libraries/caching.rst
diff options
context:
space:
mode:
Diffstat (limited to 'user_guide_src/source/libraries/caching.rst')
-rw-r--r--user_guide_src/source/libraries/caching.rst279
1 files changed, 0 insertions, 279 deletions
diff --git a/user_guide_src/source/libraries/caching.rst b/user_guide_src/source/libraries/caching.rst
deleted file mode 100644
index a7081ec6b..000000000
--- a/user_guide_src/source/libraries/caching.rst
+++ /dev/null
@@ -1,279 +0,0 @@
-##############
-Caching Driver
-##############
-
-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.
-
-.. contents::
- :local:
-
-.. raw:: html
-
- <div class="custom-index container"></div>
-
-*************
-Example Usage
-*************
-
-The following example will load the cache driver, specify `APC <#alternative-php-cache-apc-caching>`_
-as the driver to use, and fall back to file-based caching if APC is not
-available in the hosting environment.
-
-::
-
- $this->load->driver('cache', array('adapter' => 'apc', 'backup' => 'file'));
-
- if ( ! $foo = $this->cache->get('foo'))
- {
- echo 'Saving to the cache!<br />';
- $foo = 'foobarbaz!';
-
- // Save into the cache for 5 minutes
- $this->cache->save('foo', $foo, 300);
- }
-
- echo $foo;
-
-You can also prefix cache item names via the **key_prefix** setting, which is useful
-to avoid collisions when you're running multiple applications on the same environment.
-
-::
-
- $this->load->driver('cache',
- array('adapter' => 'apc', 'backup' => 'file', 'key_prefix' => 'my_')
- );
-
- $this->cache->get('foo'); // Will get the cache entry named 'my_foo'
-
-***************
-Class Reference
-***************
-
-.. php:class:: CI_Cache
-
- .. php:method:: is_supported($driver)
-
- :param string $driver: the name of the caching driver
- :returns: TRUE if supported, FALSE if not
- :rtype: bool
-
- This method is automatically called when accessing drivers via
- ``$this->cache->get()``. However, if the individual drivers are used,
- make sure to call this method to ensure the driver is supported in the
- hosting environment.
- ::
-
- if ($this->cache->apc->is_supported())
- {
- if ($data = $this->cache->apc->get('my_cache'))
- {
- // do things.
- }
- }
-
- .. php:method:: get($id)
-
- :param string $id: Cache item name
- :returns: Item value or FALSE if not found
- :rtype: mixed
-
- This method will attempt to fetch an item from the cache store. If the
- item does not exist, the method will return FALSE.
- ::
-
- $foo = $this->cache->get('my_cached_item');
-
- .. php:method:: save($id, $data[, $ttl = 60[, $raw = FALSE]])
-
- :param string $id: Cache item name
- :param mixed $data: the data to save
- :param int $ttl: Time To Live, in seconds (default 60)
- :param bool $raw: Whether to store the raw value
- :returns: TRUE on success, FALSE on failure
- :rtype: string
-
- This method will save an item to the cache store. If saving fails, the
- method will return FALSE.
- ::
-
- $this->cache->save('cache_item_id', 'data_to_cache');
-
- .. note:: The ``$raw`` parameter is only utilized by APC and Memcache,
- in order to allow usage of ``increment()`` and ``decrement()``.
-
- .. php:method:: delete($id)
-
- :param string $id: name of cached item
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- This method will delete a specific item from the cache store. If item
- deletion fails, the method will return FALSE.
- ::
-
- $this->cache->delete('cache_item_id');
-
- .. php:method:: increment($id[, $offset = 1])
-
- :param string $id: Cache ID
- :param int $offset: Step/value to add
- :returns: New value on success, FALSE on failure
- :rtype: mixed
-
- Performs atomic incrementation of a raw stored value.
- ::
-
- // 'iterator' has a value of 2
-
- $this->cache->increment('iterator'); // 'iterator' is now 3
-
- $this->cache->increment('iterator', 3); // 'iterator' is now 6
-
- .. php:method:: decrement($id[, $offset = 1])
-
- :param string $id: Cache ID
- :param int $offset: Step/value to reduce by
- :returns: New value on success, FALSE on failure
- :rtype: mixed
-
- Performs atomic decrementation of a raw stored value.
- ::
-
- // 'iterator' has a value of 6
-
- $this->cache->decrement('iterator'); // 'iterator' is now 5
-
- $this->cache->decrement('iterator', 2); // 'iterator' is now 3
-
- .. php:method:: clean()
-
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- This method will 'clean' the entire cache. If the deletion of the
- cache files fails, the method will return FALSE.
- ::
-
- $this->cache->clean();
-
- .. php:method:: cache_info()
-
- :returns: Information on the entire cache database
- :rtype: mixed
-
- This method will return information on the entire cache.
- ::
-
- var_dump($this->cache->cache_info());
-
- .. note:: The information returned and the structure of the data is dependent
- on which adapter is being used.
-
- .. php:method:: get_metadata($id)
-
- :param string $id: Cache item name
- :returns: Metadata for the cached item
- :rtype: mixed
-
- This method will return detailed information on a specific item in the
- cache.
- ::
-
- var_dump($this->cache->get_metadata('my_cached_item'));
-
- .. note:: The information returned and the structure of the data is dependent
- on which adapter is being used.
-
-*******
-Drivers
-*******
-
-Alternative PHP Cache (APC) Caching
-===================================
-
-All of the methods listed above can be accessed without passing a
-specific adapter to the driver loader as follows::
-
- $this->load->driver('cache');
- $this->cache->apc->save('foo', 'bar', 10);
-
-For more information on APC, please see
-`http://php.net/apc <http://php.net/apc>`_.
-
-File-based Caching
-==================
-
-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.
-
-All of the methods listed above can be accessed without passing a
-specific adapter to the driver loader as follows::
-
- $this->load->driver('cache');
- $this->cache->file->save('foo', 'bar', 10);
-
-Memcached Caching
-=================
-
-Multiple Memcached servers can be specified in the memcached.php
-configuration file, located in the _application/config/* directory.
-
-All of the methods listed above can be accessed without passing a
-specific adapter to the driver loader as follows::
-
- $this->load->driver('cache');
- $this->cache->memcached->save('foo', 'bar', 10);
-
-For more information on Memcached, please see
-`http://php.net/memcached <http://php.net/memcached>`_.
-
-WinCache Caching
-================
-
-Under Windows, you can also utilize the WinCache driver.
-
-All of the methods listed above can be accessed without passing a
-specific adapter to the driver loader as follows::
-
- $this->load->driver('cache');
- $this->cache->wincache->save('foo', 'bar', 10);
-
-For more information on WinCache, please see
-`http://php.net/wincache <http://php.net/wincache>`_.
-
-Redis Caching
-=============
-
-Redis is an in-memory key-value store which can operate in LRU cache mode.
-To use it, you need `Redis server and phpredis PHP extension <https://github.com/phpredis/phpredis>`_.
-
-Config options to connect to redis server must be stored in the application/config/redis.php file.
-Available options are::
-
- $config['socket_type'] = 'tcp'; //`tcp` or `unix`
- $config['socket'] = '/var/run/redis.sock'; // in case of `unix` socket type
- $config['host'] = '127.0.0.1';
- $config['password'] = NULL;
- $config['port'] = 6379;
- $config['timeout'] = 0;
-
-All of the methods listed above can be accessed without passing a
-specific adapter to the driver loader as follows::
-
- $this->load->driver('cache');
- $this->cache->redis->save('foo', 'bar', 10);
-
-For more information on Redis, please see
-`http://redis.io <http://redis.io>`_.
-
-Dummy Cache
-===========
-
-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. \ No newline at end of file