Memcache::connect

memcache_connect

(PECL memcache >= 0.2.0)

Memcache::connect -- memcache_connectAbre a conexão do servidor memcached

Descrição

Memcache::connect(string $host, int $port = ?, int $timeout = ?): bool
memcache_connect(string $host, int $port = ?, int $timeout = ?): Memcache

Memcache::connect() estabelece uma conexão com o servidor memcached. A conexão, que foi aberta usando Memcache::connect() será fechada automaticamente no fim da execução do script. Pode-se também fechá-la com Memcache::close().

Parâmetros

host
Aponta para o host onde o memcached está escutando conexões. Este parâmetro também pode especificar outros transportes como unix:///path/to/memcached.sock para usar soquetes de domínio UNIX, neste caso port também deve ser definido como 0.
port
Aponta para a porta onde o memcached está escutando conexões. Defina este parâmetro como 0 ao usar sockets de domínio UNIX. Observe: port assume como padrão memcache.default_port se não for especificado. Por esse motivo, é sensato especificar a porta explicitamente nessa chamada de método.
timeout
Valor em segundos que será usado para conectar ao daemon. Pense duas vezes antes de alterar o valor padrão de 1 segundo - pode-se perder todas as vantagens do cache se a conexão for muito lenta.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de Memcache::connect()

<?php

/* API procedural */

$memcache_obj = memcache_connect('memcache_host', 11211);

/* API orientada a objeto */

$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);

?>

Notas

Aviso

Quando o port não é especificado, este método assume como padrão o conjunto de valores da diretiva INI memcache.default_port do PHP. Se este valor foi alterado em outro lugar no seu aplicativo, isso pode levar a resultados inesperados: por este motivo, é sensato sempre especificar a porta explicitamente nesta chamada de método.

Veja Também

adicionar nota

Notas de Usuários 1 note

up
11
geoffrey dot hoffman at gmail dot com
15 years ago
If memcached is working, calling memcache_connect( ) returns an Object instance, not a boolean. If memcached is not working, calling memcache_connect( ) throws a notice AND a warning (and returns false as expected). 

<?php
/* memcache is running */
$test1 = memcache_connect('127.0.0.1',11211);
echo gettype($test1);
// object
echo get_class($test1);
// Memcache

/* memcached is stopped */
$test2 = memcache_connect('127.0.0.1',11211);

/*
Notice: memcache_connect(): Server 127.0.0.1 (tcp 11211) failed with: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
 (10060) in C:\Program Files\Support Tools\- on line 1

Warning: memcache_connect(): Can't connect to 127.0.0.1:11211, A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
 (10060) in C:\Program Files\Support Tools\- on line 1
*/

echo gettype($test2);
// boolean
echo $test2===false;
// 1
?>

There appears to be no way to check whether memcached is actually running without resorting to error suppression:

<?php
$test3 = @memcache_connect('127.0.0.1',11211);
if( $test3===false ){
   // memcached is _probably_ not running
}
?>
To Top