Léon Brocard > Net-Cassandra > Net::Cassandra

Download:
Net-Cassandra-0.35.tar.gz

Dependencies

Annotate this POD (1)

CPAN RT

New  1
Open  0
View/Report Bugs
Module Version: 0.35   Source  

NAME ^

Net::Cassandra - Interface to Cassandra

SYNOPSIS ^

  my $cassandra = Net::Cassandra->new( hostname => 'localhost' );
  my $client    = $cassandra->client;

  my $key       = '123';
  my $timestamp = time;

  eval {
      $client->insert(
          'Keyspace1',
          $key,
          Net::Cassandra::Backend::ColumnPath->new(
              { column_family => 'Standard1', column => 'name' }
          ),
          'Leon Brocard',
          $timestamp,
          Net::Cassandra::Backend::ConsistencyLevel::ZERO
      );
  };
  die $@->why if $@;

  eval {
      my $what = $client->get(
          'Keyspace1',
          $key,
          Net::Cassandra::Backend::ColumnPath->new(
              { column_family => 'Standard1', column => 'name' }
          ),
          Net::Cassandra::Backend::ConsistencyLevel::QUORUM
      );
      my $value     = $what->column->value;
      my $timestamp = $what->column->timestamp;
      warn "$value / $timestamp";
  };
  die $@->why if $@;

  eval {
      $client->remove(
          'Keyspace1',
          $key,
          Net::Cassandra::Backend::ColumnPath->new(
              { column_family => 'Standard1', column => 'name' }
          ),
          $timestamp
      );
  };
  die $@->why if $@;

DESCRIPTION ^

This module provides an interface the to Cassandra distributed database. It uses the Thrift interface. This is changing rapidly and supports version 0.5.0 of Cassandra.

AUTHOR ^

Leon Brocard <acme@astray.com>.

COPYRIGHT ^

Copyright (C) 2009-2010, Leon Brocard

LICENSE ^

This module is free software; you can redistribute it or modify it under the same terms as Perl itself.

syntax highlighting: