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.