7 use base qw/Redis Tie::StdHash/;
9 use Data::Dump qw/dump/;
13 Redis::Hash - tie perl hashes into Redis
17 tie %name, 'Redis::Hash', 'prefix';
19 my $o = tie %foobar, 'Redis::Hash', 'foobar';
20 print $o->info->{used_memory}; # or any redis command
26 my ($class,$name) = @_;
27 my $self = Redis->new;
28 $name .= ':' if $name;
29 $self->{name} = $name || '';
30 bless $self => $class;
34 my ($self,$key,$value) = @_;
35 $self->set( $self->{name} . $key, $value );
40 $self->get( $self->{name} . $key );
45 $self->{keys} = [ $self->keys( $self->{name} . '*' ) ];
51 my $key = shift @{ $self->{keys} } || return;
52 my $name = $self->{name};
53 $key =~ s{^$name}{} || warn "can't strip $name from $key";
59 $self->exists( $self->{name} . $key );
64 $self->del( $self->{name} . $key );
69 $self->del( $_ ) foreach ( $self->keys( $self->{name} . '*' ) );