use IO::Socket::INET;
use Data::Dump qw/dump/;
+use Carp qw/confess/;
=head1 NAME
=head2 set
- $r->set( foo => 'bar' );
+ $r->set( foo => 'bar', $new );
=cut
sub set {
- my ( $self, $k, $v ) = @_;
- print $sock "SET $k " . length($v) . "\r\n$v\r\n";
+ my ( $self, $k, $v, $new ) = @_;
+ print $sock ( $new ? "SETNX" : "SET" ) . " $k " . length($v) . "\r\n$v\r\n";
my $ok = <$sock>;
- die dump($ok) unless $ok eq "+OK\r\n";
+ confess dump($ok) unless $ok eq "+OK\r\n";
}
=head2 get
return $v;
}
+=head2 incr
+ $r->incr('counter');
+ $r->incr('tripplets', 3);
+
+=cut
+
+sub incr {
+ my ( $self, $key, $value ) = @_;
+ if ( defined $value ) {
+ print $sock "INCRBY $key $value\r\n";
+ } else {
+ print $sock "INCR $key\r\n";
+ }
+ my $count = <$sock>;
+ warn "# $key = $count";
+ return $count;
+}
=head1 AUTHOR