sub get {
my $self = shift;
- $self->_sock_result_bulk('GET', @_);
+ $self->_sock_result_bulk('GET',@_);
+}
+
+=head2 mget
+
+ my @values = $r->get( 'foo', 'bar', 'baz' );
+
+=cut
+
+sub mget {
+ my $self = shift;
+ $self->_sock_result_bulk_list('MGET',@_);
}
=head2 incr
sub keys {
my ( $self, $glob ) = @_;
- return split(/\s/, $self->_sock_result_bulk( 'KEYS', $glob ));
+ my $keys = $self->_sock_result_bulk( 'KEYS', $glob );
+ return split(/\s/, $keys) if $keys;
+ return () if wantarray;
}
=head2 randomkey
$self->_sock_send_ok('flushall');
}
+=head1 Sorting
+
+=head2 sort
+
+ $r->sort("key BY pattern LIMIT start end GET pattern ASC|DESC ALPHA');
+
+=cut
+
+sub sort {
+ my ( $self, $sort ) = @_;
+ $self->_sock_result_bulk_list( "SORT $sort" );
+}
+
+=head1 Persistence control commands
+
+=head2 save
+
+ $r->save;
+
+=cut
+
+sub save {
+ my $self = shift;
+ $self->_sock_send_ok( 'SAVE' );
+}
+
+=head2 bgsave
+
+ $r->bgsave;
+
+=cut
+
+sub bgsave {
+ my $self = shift;
+ $self->_sock_send_ok( 'BGSAVE' );
+}
+
+=head2 lastsave
+
+ $r->lastsave;
+
+=cut
+
+sub lastsave {
+ my $self = shift;
+ $self->_sock_send( 'LASTSAVE' );
+}
+
+=head2 shutdown
+
+ $r->shutdown;
+
+=cut
+
+sub shutdown {
+ my $self = shift;
+ $self->_sock_send( 'SHUTDOWN' );
+}
+
+=head1 Remote server control commands
+
+=head2 info
+
+ my $info_hash = $r->info;
+
+=cut
+
+sub info {
+ my $self = shift;
+ my $info = $self->_sock_result_bulk( 'INFO' );
+ my $hash;
+ foreach my $l ( split(/\r\n/, $info ) ) {
+ my ($n,$v) = split(/:/, $l, 2);
+ $hash->{$n} = $v;
+ }
+ return $hash;
+}
+
=head1 AUTHOR
Dobrica Pavlinusic, C<< <dpavlin at rot13.org> >>