--- lib/Redis.pm 2009/03/22 18:42:21 41 +++ lib/Redis.pm 2009/03/23 11:44:25 51 @@ -186,7 +186,18 @@ 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 @@ -258,7 +269,9 @@ 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 @@ -523,6 +536,84 @@ $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<< >>