X-Git-Url: http://git.rot13.org/?p=perl-Redis.git;a=blobdiff_plain;f=lib%2FRedis.pm;h=d03416e779b8d47ffccdae1ac0740d099cda1890;hp=bc65da9bf1e622da8e8a0962290cb1943156b7b1;hb=a57e5b0908eea8c9a2dbd0c0a0a36729afa5fc58;hpb=3e0104f8caed52c0991f2662b80aa8c137df77ad diff --git a/lib/Redis.pm b/lib/Redis.pm index bc65da9..d03416e 100644 --- a/lib/Redis.pm +++ b/lib/Redis.pm @@ -5,6 +5,7 @@ use strict; use IO::Socket::INET; use Data::Dump qw/dump/; +use Carp qw/confess/; =head1 NAME @@ -80,15 +81,15 @@ sub ping { =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