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)
PHP C++ Python

This branch is 60 commits ahead, 1 commit behind davegardnerisme:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

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

README.mkd

phpcassa

Build Status

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');
$super = new SuperColumnFamily($pool, 'Super1');

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.