CakeFest 2024: The Official CakePHP Conference

Memcache::pconnect

(PECL memcache >= 0.4.0)

Memcache::pconnectmemcached サーバーへの持続的な接続をオープンする

説明

Memcache::pconnect(string $host, int $port = ?, int $timeout = ?): mixed

Memcache::pconnect()Memcache::connect() とほぼ同じですが、 確立する接続が持続的なものであるという点が違います。 この接続は、スクリプトの実行が終了したり Memcache::close() 関数を使ったりしても閉じません。 memcache_pconnect() 関数を使用することも可能です。

パラメータ

host

memcached が接続を待ち受けるホストを指定します。 このパラメータには別のトランスポート層を指定することもできます。たとえば unix:///path/to/memcached.sock のようにすると Unix ドメインソケットを使用できます。この場合、 port0 を指定しなければなりません。

port

memcached が接続を待ち受けるポートを指定します。 Unix ドメインソケットを使用する場合は、このパラメータを 0 とします。

timeout

デーモンへの接続の際に使用する値 (秒単位) です。 デフォルト値を 1 秒でも変更する前には十分注意してください。 接続が遅くなってしまうと、 キャッシュ処理のメリットが なくなってしまいます。

戻り値

Memcache オブジェクトを返します。 失敗した場合に false を返します。

例1 Memcache::pconnect() の例

<?php

/* 手続き型の API */
$memcache_obj = memcache_pconnect('memcache_host', 11211);

/* オブジェクト指向の API */

$memcache_obj = new Memcache;
$memcache_obj->pconnect('memcache_host', 11211);

?>

参考

add a note

User Contributed Notes 2 notes

up
1
john.royer [at] gmail.com
5 years ago
pconnect() put error message to stderr if connection failed. This behavior may cause unexpected output.
use '@' infrom of `pconnect()` to avoid it.

<?php

$cache
= new Memcache();
$stat = @$cache->pconnect('localhost', 11211);

if (
false === $stat) {
// connect failed
}
// connect success
up
-26
office at cws-trummer dot biz
15 years ago
use persistent connection if you have problems with system process 0 WAIT_TIME
To Top