mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-20 10:58:54 +00:00
157 lines
4.2 KiB
XML
157 lines
4.2 KiB
XML
![]() |
<?xml version="1.0" encoding="iso-8859-1"?>
|
||
|
<!-- $Revision: 1.1 $ -->
|
||
|
<reference id="ref.memcache">
|
||
|
<title>Memcache Functions</title>
|
||
|
<titleabbrev>Memcache</titleabbrev>
|
||
|
|
||
|
<partintro>
|
||
|
<section id="memcache.intro">
|
||
|
&reftitle.intro;
|
||
|
<para>
|
||
|
Memcache module provides handy procedural and object oriented interface
|
||
|
to memcached, highly effective caching daemon, which was especially
|
||
|
designed to decrease database load in dynamic web applications.
|
||
|
</para>
|
||
|
<para>
|
||
|
More information about memcached can be found at <ulink
|
||
|
url="&url.memcached;">&url.memcached;</ulink>.
|
||
|
</para>
|
||
|
</section>
|
||
|
|
||
|
<section id="memcache.requirements">
|
||
|
&reftitle.required;
|
||
|
<para>
|
||
|
This module uses functions of <ulink url="&url.zlib;">zlib</ulink>
|
||
|
to support on-the-fly data compression. Zlib is required to install
|
||
|
this module.
|
||
|
</para>
|
||
|
<para>
|
||
|
PHP 4.3.3 or newer is required to use memcache extension.
|
||
|
</para>
|
||
|
</section>
|
||
|
|
||
|
<section id="memcache.install">
|
||
|
&reftitle.install;
|
||
|
<para>
|
||
|
Memcache is currently available through PECL
|
||
|
<ulink url="&url.pecl.package;memcache">&url.pecl.package;memcache</ulink>.
|
||
|
</para>
|
||
|
<para>
|
||
|
Also you can use the pear installer to install the memcache extension,
|
||
|
using the following command: <command>pear -v install memcache</command>.
|
||
|
</para>
|
||
|
<para>
|
||
|
You can always download the tar.gz package and install memcache by hand:
|
||
|
<example>
|
||
|
<title>Memcache installation</title>
|
||
|
<programlisting role="shell">
|
||
|
<![CDATA[
|
||
|
gunzip memcache-xxx.tgz
|
||
|
tar -xvf memcache-xxx.tar
|
||
|
cd memcache-xxx
|
||
|
phpize
|
||
|
./configure && make && make install
|
||
|
]]>
|
||
|
</programlisting>
|
||
|
</example>
|
||
|
</para>
|
||
|
<para>
|
||
|
Windows users can download the extension dll <filename>php_memcache.dll</filename>
|
||
|
here: <ulink url="&url.pecl.get.win;">&url.pecl.get.win;</ulink>.
|
||
|
</para>
|
||
|
</section>
|
||
|
|
||
|
<section id="memcache.resources">
|
||
|
&reftitle.resources;
|
||
|
<para>
|
||
|
There is only one resource type used in memcache module - it's
|
||
|
the link identifier for a cache server connection.
|
||
|
</para>
|
||
|
</section>
|
||
|
|
||
|
<section id="memcache.constants">
|
||
|
&reftitle.constants;
|
||
|
<variablelist>
|
||
|
<varlistentry>
|
||
|
<term>
|
||
|
<constant>MEMCACHE_COMPRESSED</constant>
|
||
|
(<type>integer</type>)
|
||
|
</term>
|
||
|
<listitem>
|
||
|
<simpara>
|
||
|
Used to turn on-the-fly data compression on with
|
||
|
<function>Memcache::set</function>, <function>Memcache::add</function>
|
||
|
and <function>Memcache::replace</function>.
|
||
|
</simpara>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
</variablelist>
|
||
|
</section>
|
||
|
|
||
|
<section id="memcache.examples">
|
||
|
&reftitle.examples;
|
||
|
<para>
|
||
|
<example>
|
||
|
<title>memcache extension overview example</title>
|
||
|
<programlisting role="php">
|
||
|
<![CDATA[
|
||
|
<?php
|
||
|
|
||
|
$memcache = new Memcache;
|
||
|
$memcache->connect('localhost', 11211) or die ("Could not connect");
|
||
|
|
||
|
$version = $memcache->getVersion();
|
||
|
echo "Server's version: ".$version."<br/>\n";
|
||
|
|
||
|
$tmp_object = new stdClass;
|
||
|
$tmp_object->str_attr = 'test';
|
||
|
$tmp_object->int_attr = 123;
|
||
|
|
||
|
$memcache->set('key', $tmp_object, 10) or die ("Failed to save data at the server");
|
||
|
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";
|
||
|
|
||
|
$get_result = $memcache->get('key');
|
||
|
echo "Data from the cache:<br/>\n";
|
||
|
|
||
|
var_dump($get_result);
|
||
|
|
||
|
?>
|
||
|
]]>
|
||
|
</programlisting>
|
||
|
</example>
|
||
|
</para>
|
||
|
<para>
|
||
|
In the above example, an object is being saved in the cache and then
|
||
|
retrieved back. Object and other non-scalar types are serialized before
|
||
|
saving, so it's impossible to store resources (i.e. connection identifiers
|
||
|
and others) in the cache.
|
||
|
</para>
|
||
|
</section>
|
||
|
|
||
|
</partintro>
|
||
|
|
||
|
&reference.memcache.functions;
|
||
|
|
||
|
</reference>
|
||
|
<!-- Keep this comment at the end of the file
|
||
|
Local variables:
|
||
|
mode: sgml
|
||
|
sgml-omittag:t
|
||
|
sgml-shorttag:t
|
||
|
sgml-minimize-attributes:nil
|
||
|
sgml-always-quote-attributes:t
|
||
|
sgml-indent-step:1
|
||
|
sgml-indent-data:t
|
||
|
indent-tabs-mode:nil
|
||
|
sgml-parent-document:nil
|
||
|
sgml-default-dtd-file:"../../../manual.ced"
|
||
|
sgml-exposed-tags:nil
|
||
|
sgml-local-catalogs:nil
|
||
|
sgml-local-ecat-files:nil
|
||
|
End:
|
||
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||
|
vim: et tw=78 syn=sgml
|
||
|
vi: ts=1 sw=1
|
||
|
-->
|
||
|
|