CassandraのPHP用クライアントをインストール
PHPからCassandraを使うには、ThriftをインストールしてPHP用Cassandraクライアントを生成するという方法もあるのですが、phpcassaなるライブラリを利用したらThriftのインストールがバッサリとショートカットできた…。
一応Thriftを使った方法はウノウラボさんの所で紹介されていますので、そちらを参照くださいませー
ひとまずこのエントリーではphpcassaのインストールと簡単な使い方を紹介しておきます。
phpcassaのインストール
wget https://github.com/downloads/thobbs/phpcassa/phpcassa-0.8.a.2.tar.gz
tar -zxvf phpcassa-0.8.a.2.tar.gz
cp -R phpcassa-0.8.a.2 /usr/local/phpcassa
cd /usr/local/phpcassa/thrift/ext/thrift_protocol
phpize
./configure
make && make install
上記では /usr/local にコピーしていますが、コピーする位置はお好みでどうぞ。
phpが認証するように、php.iniファイルへ記述。Ubuntuの場合はconf.dディレクトリにthrift_protocol.ini を作成。
vi /etc/php5/apache2/conf.d/thrift_protocol.ini
以下を記述
extension=thrift_protocol.so
apache再起動。
apache2ctl restart
phpにthrift_protocolがインストールされているか確認。
php -i | grep thrift
/etc/php5/cli/conf.d/thrift_protocol.ini,
thrift_protocol
PWD => /usr/local/phpcassa/thrift/ext/thrift_protocol
_SERVER[“PWD”] => /usr/local/phpcassa/thrift/ext/thrift_protocol
cassandra-cliでテストデータを追加。
cassandra-cli
[default@unknown] connect localhost/9160;
[default@unknown] create keyspace Keyspace1;
[default@unknown] use Keyspace1;
[default@Keyspace1] create column family ColumnFamily1;
[default@Keyspace1] quit;
ひとまずテストスクリプトを書いて、動かしてみる。
<?php
require_once '/usr/local/phpcassa/connection.php';
require_once '/usr/local/phpcassa/columnfamily.php';
// Making a Connection
$pool = new ConnectionPool('Keyspace1', array('localhost'));
// Getting a ColumnFamily
$column_family = new ColumnFamily($pool, 'ColumnFamily1');
// Inserting Data
$column_family->insert('row_key', array('col_name'=>'col_val'));
// Getting Data
$tmp_arr = $column_family->get('row_key', array('col_name'));
print_r($tmp_arr);
/*
array(
[col_name]=>[col_val]
)
*/
// Removing Data
$column_family->remove('row_key', array('col_name'));
$pool->close();
phpcassaのドキュメントはこちら。