両方の拡張機能を同時にアクティブにすることができます。とはPECL Memcache
、MemcachedサーバーPECL Memcached
に接続するPHPクライアントです。
長所と短所について
前に述べたように、Memcachedは、memcachedサーバーチームによって維持されているlibmemcachedに基づいて構築されます。人々はそれがより良いと言います、しかし私はその日までこれを確認することができませんでした。
PECL memcacheは、依然としてより優れたPHPセッションサポートを備えています。
私はここで(少し古いですが、ほとんどまだ有効です)比較チャートを見つけました
編集
PHPは、いずれかの拡張機能を使用してMemcachedサーバーに接続しています。ここにいくつかの使用例があります
PHPでのPECLMemcachedの使用例
PECLMemcachedクラスリファレンス
// create PECL memcached Object
$m = new Memcached();
// add a server, connection is established lazily as far as I know
$m->addServer( 'localhost', 11211 );
// set values, those are written into your server's memory using the memcached server
$m->set( 'integer', 1 );
$m->set( 'intIncrement', 1 );
$m->set( 'intDecrement', 1 );
$m->set( 'string', 'I am a string' );
$m->set( 'array', array( 'a', 'b', 'c' ) );
// increment
$m->increment( 'intIncrement' );
// decrement
$m->decrement( 'intDecrement' );
// get values again
var_dump ( $m->get( 'integer' ) );
var_dump ( $m->get( 'intIncrement' ) );
var_dump ( $m->get( 'intDecrement' ) );
var_dump ( $m->get( 'string' ) );
var_dump ( $m->get( 'array' ) );
// delete values
$m->delete( 'integer' );
$m->delete( 'intIncrement' );
$m->delete( 'intDecrement' );
$m->delete( 'string' );
$m->delete( 'array' );
// close connection
$m->close();
PHPでのPECLMemcacheの使用例
PECLMemcacheクラスリファレンス
これは同じPHPスクリプトに含めることができます!
// create PECL memcache object
$m = new Memcache;
// connect to the memcached server
$m->connect('localhost', 11211);
// set values
$m->set( 'integer', 1 );
$m->set( 'intIncrement', 1 );
$m->set( 'intDecrement', 1 );
$m->set( 'string', 'I am a string' );
$m->set( 'array', array( 'a', 'b', 'c' ) );
// increment
$m->increment( 'intIncrement' );
// decrement
$m->decrement( 'intDecrement' );
// get values again
var_dump ( $m->get( 'integer' ) );
var_dump ( $m->get( 'intIncrement' ) );
var_dump ( $m->get( 'intDecrement' ) );
var_dump ( $m->get( 'string' ) );
var_dump ( $m->get( 'array' ) );
// delete values
$m->delete( 'integer' );
$m->delete( 'intIncrement' );
$m->delete( 'intDecrement' );
$m->delete( 'string' );
$m->delete( 'array' );
// close connection
$m->close();
オブジェクトをmemcachedに保存することもできます。オブジェクトのシリアル化とマジッククラスのメソッド __sleep
に関するこの記事を__wakeup()
、PHPで確認してください。
簡単にわかるように、PECLMemcachedとMemcacheの両方のクライアントの基本的な使用法はほとんど同じです。