Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
PHP client library for Apache Cassandra (port of pycassa)

This branch is 112 commits behind thobbs:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
debian
doc
examples
lib
test
.gitignore
AUTHORS
CHANGES
INSTALLING
LICENSE
README.mkd
apigen.neon
phpunit.xml

README.mkd

phpcassa

phpcassa is a PHP client library for Apache Cassandra.

  • Compatible with Cassandra 0.7, 0.8, 1.0, and 1.1
  • Optional C extension for improved performance

phpcassa is compatible with PHP 5.3+

phpcassa is open source under the MIT license.

Documentation

While this README includes some useful information, the official and more thorough documentation can be found here:

http://thobbs.github.com/phpcassa

Examples

You can find a few fully working example scripts in the examples/ directory.

Opening Connections

$pool = new ConnectionPool('Keyspace1');

or

$pool = new ConnectionPool('Keyspace1', array('localhost'));

Create a column family object

$users = new ColumnFamily($pool, 'Standard1'); // ColumnFamily
$super = new ColumnFamily($pool, 'Super1'); // SuperColumnFamily

Inserting

$users->insert('key', array('column1' => 'value1', 'column2' => 'value2'));

Querying

$users->get('key'); 
$users->multiget(array('key1', 'key2'));

Removing

$users->remove('key1'); // removes whole row
$users->remove('key1', 'column1'); // removes 'column1'

Other

$users->get_count('key1'); // counts the number of columns in row 'key1'
$users->get_range('key1', 'key9'); // gets all rows with keys between '1' and '9'

Using the C Extension

The C extension is crucial for phpcassa's performance.

You need to configure and make to be able to use the C extension.

cd lib/thrift/ext/thrift_protocol
phpize
./configure
make
sudo make install

Add the following line to your php.ini file:

extension=thrift_protocol.so

Getting Help

Something went wrong with that request. Please try again.