+sub _sock_ok {
+ my $ok = <$sock>;
+ confess dump($ok) unless $ok eq "+OK\r\n";
+}
+
=head1 Connection Handling
=head2 quit
=head1 Connection Handling
=head2 quit
sub set {
my ( $self, $k, $v, $new ) = @_;
print $sock ( $new ? "SETNX" : "SET" ) . " $k " . length($v) . "\r\n$v\r\n";
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";
- my ( $self, $glob ) = @_;
print $sock "RANDOMKEY\r\n";
_sock_result();
}
print $sock "RANDOMKEY\r\n";
_sock_result();
}
+=head2 rename
+
+ my $ok = $r->rename( 'old-key', 'new-key', $only_if_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<< <dpavlin at rot13.org> >>
=head1 AUTHOR
Dobrica Pavlinusic, C<< <dpavlin at rot13.org> >>
use warnings;
use strict;
use warnings;
use strict;
-use Test::More tests => 49;
+use Test::More tests => 52;
ok( my $key = $o->randomkey, 'randomkey' );
diag "key: $key";
ok( my $key = $o->randomkey, 'randomkey' );
diag "key: $key";
+ok( $o->rename( $key, 'test-renamed' ), 'rename' );
+ok( $o->exists( 'test-renamed' ), 'exists test-renamed' );
+
+eval { $o->rename( $o->randomkey, 'test-renamed', 1 ) };
+ok( $@, 'rename to existing key' );
+