/[Redis.pre-github]/lib/Redis.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /lib/Redis.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 27 by dpavlin, Sun Mar 22 13:44:19 2009 UTC revision 32 by dpavlin, Sun Mar 22 17:06:34 2009 UTC
# Line 63  sub _sock_read_bulk { Line 63  sub _sock_read_bulk {
63          warn "## bulk len: ",dump($len);          warn "## bulk len: ",dump($len);
64          return undef if $len eq "nil\r\n";          return undef if $len eq "nil\r\n";
65          my $v;          my $v;
66          read($sock, $v, $len) || die $!;          if ( $len > 0 ) {
67          warn "## bulk v: ",dump($v);                  read($sock, $v, $len) || die $!;
68                    warn "## bulk v: ",dump($v);
69            }
70          my $crlf;          my $crlf;
71          read($sock, $crlf, 2); # skip cr/lf          read($sock, $crlf, 2); # skip cr/lf
72          return $v;          return $v;
# Line 79  sub _sock_result_bulk { Line 81  sub _sock_result_bulk {
81    
82  sub __sock_ok {  sub __sock_ok {
83          my $ok = <$sock>;          my $ok = <$sock>;
84            return undef if $ok eq "nil\r\n";
85          confess dump($ok) unless $ok eq "+OK\r\n";          confess dump($ok) unless $ok eq "+OK\r\n";
86  }  }
87    
# Line 100  sub __sock_send_bulk_raw { Line 103  sub __sock_send_bulk_raw {
103          my $self = shift;          my $self = shift;
104          warn "## _sock_send_bulk ",dump( @_ );          warn "## _sock_send_bulk ",dump( @_ );
105          my $value = pop;          my $value = pop;
106          print $sock join(' ',@_) . ' ' . length($value) . "\r\n$value\r\n";          $value = '' unless defined $value; # FIXME errr? nil?
107            print $sock join(' ',@_) . ' ' . length($value) . "\r\n$value\r\n"
108  }  }
109    
110  sub _sock_send_bulk {  sub _sock_send_bulk {
# Line 379  sub lrem { Line 383  sub lrem {
383    
384  sub lpop {  sub lpop {
385          my ( $self, $key ) = @_;          my ( $self, $key ) = @_;
386          $self->_sock_result_bulk( 'lpop', $key );          $self->_sock_result_bulk( 'LPOP', $key );
387  }  }
388    
389  =head2 rpop  =head2 rpop
# Line 390  sub lpop { Line 394  sub lpop {
394    
395  sub rpop {  sub rpop {
396          my ( $self, $key ) = @_;          my ( $self, $key ) = @_;
397          $self->_sock_result_bulk( 'rpop', $key );          $self->_sock_result_bulk( 'RPOP', $key );
398    }
399    
400    =head1 Commands operating on sets
401    
402    =head2 sadd
403    
404      $r->sadd( $key, $member );
405    
406    =cut
407    
408    sub sadd {
409            my ( $self, $key, $member ) = @_;
410            $self->_sock_send_bulk_number( 'SADD', $key, $member );
411    }
412    
413    =head2 srem
414    
415      $r->srem( $key, $member );
416    
417    =cut
418    
419    sub srem {
420            my ( $self, $key, $member ) = @_;
421            $self->_sock_send_bulk_number( 'SREM', $key, $member );
422    }
423    
424    =head2 scard
425    
426      my $elements = $r->scard( $key );
427    
428    =cut
429    
430    sub scard {
431            my ( $self, $key ) = @_;
432            $self->_sock_send( 'SCARD', $key );
433    }
434    
435    =head2 sismember
436    
437      $r->sismember( $key, $member );
438    
439    =cut
440    
441    sub sismember {
442            my ( $self, $key, $member ) = @_;
443            $self->_sock_send_bulk_number( 'SISMEMBER', $key, $member );
444  }  }
445    
446  =head1 AUTHOR  =head1 AUTHOR

Legend:
Removed from v.27  
changed lines
  Added in v.32

  ViewVC Help
Powered by ViewVC 1.1.26