超メモ帳(Web式)@復活

小説書いたり、絵を描いたり、プログラムやったりするブログ。統失プログラマ。


SPONSORED LINK

CassandraのPHP用クライアントをインストール


PHPからCassandraを使うには、ThriftをインストールしてPHP用Cassandraクライアントを生成するという方法もあるのですが、phpcassaなるライブラリを利用したらThriftのインストールがバッサリとショートカットできた…。

一応Thriftを使った方法はウノウラボさんの所で紹介されていますので、そちらを参照くださいませー


Redirect


ひとまずこのエントリーではphpcassaのインストールと簡単な使い方を紹介しておきます。

phpcassaのインストール


GitHub - thobbs/phpcassa: PHP client library for Apache Cassandra

# 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のドキュメントはこちら。
phpcassa 1.0.a.6 Documentation — phpcassa v1.0.a.6 documentation

プライバシーポリシー免責事項