Changeset 12501
- Timestamp:
- 05/27/08 08:05:37 (5 years ago)
- Location:
- lang/perl/Cache-Memcached-libmemcached/trunk
- Files:
-
- 2 modified
-
lib/Cache/Memcached/libmemcached.pm (modified) (4 diffs)
-
t/02_basic.t (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Cache-Memcached-libmemcached/trunk/lib/Cache/Memcached/libmemcached.pm
r11306 r12501 39 39 sub $method { 40 40 my \$self = shift; 41 \$self->memcached_$method(\$self->{namespace} . \$_[0], \$_[1], int(\$_[2] || 0)) 41 my (\$master_key, \$key) = \$self->__to_keys(shift); 42 if (\$master_key) { 43 \$self->SUPER::memcached_${method}_by_key(\$master_key, \$key, \@_); 44 } else { 45 \$self->SUPER::memcached_${method}(\$key, \@_); 46 } 42 47 } 43 48 EOSUB … … 108 113 } 109 114 110 sub get115 sub __to_keys 111 116 { 112 117 my $self = shift; 113 118 my $key = shift; 114 $self->SUPER::get($self->{namespace} . $key, @_); 119 120 my $master_key; 121 if (ref $key eq 'ARRAY') { 122 ($master_key, $key) = @$key; 123 } 124 125 if ($self->{namespace}) { 126 $key .= "$self->{namespace}$key"; 127 } 128 return ($master_key, $key); 129 } 130 131 sub get 132 { 133 my $self = shift; 134 my ($master_key, $key) = $self->__to_keys(shift); 135 $self->SUPER::get($master_key ? [$master_key, $key] : $key, @_); 115 136 } 116 137 … … 210 231 $h{hosts}{$hostport}{$type}{$key} = $value; 211 232 if ($type eq 'misc') { 212 $h{total}{$key} += $value if $misc_keys{$key}; 233 if ($misc_keys{$key}) { 234 $h{total}{$key} ||= 0; 235 $h{total}{$key} += $value; 236 } 213 237 } elsif ($type eq 'malloc') { 238 $h{total}{"malloc_$key"} ||= 0; 214 239 $h{total}{"malloc_$key"} += $value; 215 240 } … … 340 365 =over 4 341 366 342 =item cas() and stats() arenot implemented343 344 Th ey weresort of implemented in a previous life, but since345 Memcached::libmemcached is still undecided how to handle these, we don't367 =item cas() is not implemented 368 369 This was sort of implemented in a previous life, but since 370 Memcached::libmemcached is still undecided how to handle it, we don't 346 371 support it either. 347 372 -
lang/perl/Cache-Memcached-libmemcached/trunk/t/02_basic.t
r8526 r12501 7 7 plan(skip_all => "Define MEMCACHED_SERVER (e.g. localhost:11211) to run this test"); 8 8 } else { 9 plan(tests => 2 1);9 plan(tests => 22); 10 10 } 11 11 use_ok("Cache::Memcached::libmemcached"); … … 79 79 ok(!$cache->get_compress_enable, "check explicit compress_enable => 0"); 80 80 } 81 82 { 83 $cache = Cache::Memcached::libmemcached->new({ 84 servers => [ $ENV{ MEMCACHED_SERVER } ], 85 compress_enable => 1, 86 }); 87 88 my $master_key = 'dummy_master'; 89 my $key = 'foo_with_master'; 90 $cache->set([ $master_key, $key ], 100); 91 is( $cache->get([ $master_key, $key ]), 100, "get with master key" ); 92 }
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)