use memcached session bucket for usage
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 3 Sep 2011 22:15:34 +0000 (22:15 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 3 Sep 2011 22:15:42 +0000 (22:15 +0000)
couchbase/create.sh
lib/CloudStore/Couchbase.pm
t/Couchbase.t

index 5651b9c..cd5ace9 100755 (executable)
@@ -7,20 +7,30 @@ membase() {
 membase server-list
 membase server-info
 
-membase bucket-list | grep files && membase bucket-delete --bucket=files
-
-membase bucket-list
+membase bucket-list | grep files && membase bucket-flush --bucket=files && membase bucket-delete --bucket=files
+membase bucket-list | grep session && membase bucket-flush --bucket=session && membase bucket-delete --bucket=session
 
 membase rebalance
 
+membase bucket-list
+
 membase bucket-create --bucket=files \
        --bucket-type=membase \
        --bucket-port=5800 \
        --bucket-ramsize=100 \
        --bucket-replica=1
 
+membase bucket-create --bucket=session \
+       --bucket-type=memcached \
+       --bucket-port=5801 \
+       --bucket-ramsize=100
+
+membase bucket-flush --bucket=files
+
+membase rebalance
+
 membase bucket-list
 
-curl http://localhost:8091/couchBase/files/_design/dev_test > dev_test.new && curl -X DELETE http://localhost:8091/couchBase/files/_design/dev_test
+curl http://localhost:8091/couchBase/files/_design/dev_test > dev_test.new || \
 curl -X PUT http://localhost:8091/couchBase/files/_design/dev_test -T dev_test.json
 #curl -X PUT http://localhost:8091/couchBase/files/_design/test -T test.json
index 79ab263..7585784 100644 (file)
@@ -12,7 +12,7 @@ use Data::Dump qw(dump);
 
 my $buckets = {
        files => 5800,
-       usage => 5801,
+       session => 5801,
 };
 
 sub new {
@@ -42,17 +42,17 @@ sub new {
 
 sub usage_decr {
        my ($self,$data) = @_;
-       $self->{usage}->decr( $data->{login} => $data->{size} );
+       $self->{session}->decr( $data->{login} . ':usage' => $data->{size} );
 }
 
 sub usage_incr {
        my ($self,$data) = @_;
-       $self->{usage}->incr( $data->{login} => $data->{size} );
+       $self->{session}->incr( $data->{login} . ':usage' => $data->{size} );
 }
 
 sub usage {
        my ($self,$data) = @_;
-       $self->{usage}->get( $data->{login} );
+       $self->{session}->get( $data->{login} . ':usage' );
 }
 
 sub _key {
index d987641..dfcd1d7 100755 (executable)
@@ -27,8 +27,8 @@ my $data =
 
 ok my $r = CloudStore::Couchbase->new, 'new';
 
-ok($r->{usage}->set( 'test', 0 ), 'reset usage');
-cmp_ok($r->{usage}->get('test'), '==',0, 'usage');
+ok($r->{session}->set( 'test:usage', 0 ), 'reset usage');
+cmp_ok($r->{session}->get('test:usage'), '==',0, 'usage');
 
 ok my $j = $r->file_set($data), 'file_set';