Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for 
change notification.

The "SimpleCassie" page has been changed by Marcin Rosinski.
The comment on this change is: SimpleCassie usage examples.
http://wiki.apache.org/cassandra/SimpleCassie

--------------------------------------------------

New page:
Apache Cassandra PHP Client

== Introduction ==

SimpleCassie is entirely stand-alone package which wrap itself around Thrift 
libs (licensed to Apache Software Foundation) already built into this class.

SimpleCassie supports all features of TimeUUIDType - examples below.

The latest version is '''compatible only with Cassandra 7.0.x''' and higher.

Please report all bugs under: 
http://code.google.com/p/simpletools-php/issues/list so will be able to help 
and comment on them easier.

== Usage ==
{{{
  <?php

  require_once('SimpleCassie.php');

  $cassie = new SimpleCassie(HOST, PORT);
  if(!$cassie->isConnected())
    throw new Exception('Couldn\'t connect to server');

  /*
  * setting working keyspace
  * @return - (false) on failure true on success
  * working keyspace can be change at any point by running ->keyspace() method
  */
   $cassie->keyspace('Keyspace1');


  /*
  * setting new column (and key if not exist)
  * @return - (false) on failure
  */
   
$cassie->keyspace('MyApp')->cf('Users')->key('user1')->column('name')->set('Marcin');
   $cassie->column('surname')->set('Rosinski');
   
  /*
  * delete column or row/key
  * @return - (false) on failure
  */

  //deleting column
  $cassie->key('user1')->column('name')->remove();

  //deleting row
  $cassie->key('user1')->remove();

   /*
  * count number of columns in row/key
  * @return - (int) on succes, false on failure
  */
  $count = $cassie->key('user2')->count();

  /*
  * count number of columns with predicate: from column to column
  * @return - (int) on succes, false on failure
  */
  $count = $cassie->key('user2')->column('fromColumn','toColumn')->count();

/*
  * count number of columns with predicate: from column to column for multiple 
keys
  * @return - (int) on succes, false on failure
  */
  $count = 
$cassie->key('user2','user3')->column('fromColumn','toColumn')->count();

  /*
  * getting single column
  * @return - object on succes,  null on failure
  */
  $name = 
$cassie->keyspace('Keyspace1')->cf('Standard1')->key('user1')->column('name')->get();

  /*
  * getting multiple columns
  * @return - array of objects on success, null on failure
  */
  $user = $cassie->column('name','surname')->get();

/*
  * getting multiple column values
  * @return - array of objects on success, null on failure
  */
  $user = $cassie->column('name','surname')->value();

  /*
  * getting single column from multiple rows/keys
  * @return - array of objects on succes,  null on failure
  */
  $users = $cassie->key('user1','user2')->column('name')->get();

  /*
  * getting multiple columns from multiple rows/keys
  * @return - array of objects on succes,  null on failure
  */
  $users = $cassie->key('user1','user2')->column('name','username')->get();

  /*
  * getting slice of columns from single row/key
  * @return - array of objects on succes,  null on failure
  */
  $limit = 10;
  $reversed = false;
  $from_name = 'Puma';
  $to_name = 'Tiger';
  $friends = 
$cassie->key('user1friends')->column($from_name,$to_name)->slice($limit,$reversed);

  /*
  * getting slice of columns from single supercolumn row
  * @return - array of objects on succes,  null on failure
  */
  $limit = 10;
  $reversed = false;
  $friends = 
$cassie->key('user1')->supercolumn('friends')->column($from_name,$to_name)->slice($limit,$reversed);

  //resetting supercolumn for future use
  $cassie->key('user1')->supercolumn(null);

  /*
  * getting slice of columns from multiple rows/keys
  * @return - array of objects on succes,  null on failure
  */
  $limit = 10;
  $reversed = true;
  $friends = 
$cassie->key('user1friends','user2friends')->column($from_name,$to_name)->slice($limit,$reversed);

  /*
  * increment column value
  * @return - (int) new value on succes, false on failure
  */
  $new_value = $cassie->key('user1')->column('friends')->increment();

  /*
  * decrement column value
  * @return - (int) new value on succes, false on failure
  */
  $new_value = $cassie->key('user1')->column('friends')->decrement();

  ?>
}}}

== UUID Usage Examples ==
{{{
  <?php 

  //setting new uuid column
  
$cassie->keyspace('MyApp')->cf('BlogPosts')->key('post')->column($cassie->uuid())->set('I
 like raw food.');

  //getting latest added post (assuming TimeUUIDType)
  $post = $cassie->key('post')->slice(1);

  //getting post column uuid name in canonical form
  $uuid = $cassie->uuid($post->column->name);

  $string_form = (string) $uuid; //canonical form
  $binary_form = $uuid->uuid;

  ?>
}}}

== Development Roadmap ==
  * Connection Load Balancing
  * ->get_range_slices() - coming soon!
  * ->remove() method for multiple rows/keys
  * ->increment() method for multiple rows/keys
  * ->decrement() method for multiple rows/keys
  * ->truncate()
  * all describe methods
  * ->batch_mutate()

== Download Link ==
SimpleCassie.php download - 
http://simpletools-php.googlecode.com/files/SimpleCassie.zip

== Discussion Group ==
[http://groups.google.com/group/simpletools/browse_thread/thread/b2d5afc83e7acd5b
 SimpleCassie related discussion]

Reply via email to