--- lib/Redis.pm 2009/03/21 23:23:37 12 +++ lib/Redis.pm 2009/03/21 23:39:20 15 @@ -70,6 +70,11 @@ return $v; } +sub _sock_ok { + my $ok = <$sock>; + confess dump($ok) unless $ok eq "+OK\r\n"; +} + =head1 Connection Handling =head2 quit @@ -106,9 +111,8 @@ sub set { my ( $self, $k, $v, $new ) = @_; - print $sock ( $new ? "SETNX" : "SET" ) . " $k " . length($v) . "\r\n$v\r\n"; - my $ok = <$sock>; - confess dump($ok) unless $ok eq "+OK\r\n"; + print $sock "SET" . ( $new ? 'NX' : '' ) . " $k " . length($v) . "\r\n$v\r\n"; + _sock_ok(); } =head2 get @@ -209,6 +213,30 @@ return split(/\s/, _sock_result_bulk()); } +=head2 randomkey + + my $key = $r->randomkey; + +=cut + +sub randomkey { + my ( $self ) = @_; + print $sock "RANDOMKEY\r\n"; + _sock_result(); +} + +=head2 rename + + my $ok = $r->rename( 'old-key', 'new-key', $new ); + +=cut + +sub rename { + my ( $self, $old, $new, $nx ) = @_; + print $sock "RENAME" . ( $nx ? 'NX' : '' ) . " $old $new\r\n"; + _sock_ok(); +} + =head1 AUTHOR Dobrica Pavlinusic, C<< >>