Manual do PHP
Anterior |  | Próxima

# LIX. Memcache Functions

# Introdução

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.

More information about memcached can be found at http://www.danga.com/memcached/.

# Dependências

This module uses functions of zlib to support on-the-fly data compression. Zlib is required to install this module.

PHP 4.3.3 or newer is required to use memcache extension.

# Instalação

Memcache is currently available through PECL http://pecl.php.net/package/memcache.

Also you can use the pear installer to install the memcache extension, using the following command: pear -v install memcache.

You can always download the tar.gz package and install memcache by hand:

Exemplo 1. Memcache installation
    gunzip memcache-xxx.tgz
    tar -xvf memcache-xxx.tar
    cd memcache-xxx
    phpize
    ./configure && make && make install

Windows users can download the extension dll `php_memcache.dll` here: http://snaps.php.net/win32/PECL_STABLE/.

# Tipos Resource

There is only one resource type used in memcache module - it's the link identifier for a cache server connection.

# Constantes pré-definidas

`MEMCACHE_COMPRESSED` (integer)

  Used to turn on-the-fly data compression on with Memcache::set(), Memcache::add() and Memcache::replace().

# Exemplos

Exemplo 2. memcache extension overview example
`<?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); ?>`

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.

Anterior | Principal | Próxima
mcve_void | Acima | Memcache::add