AnyEvent-RipeRedis
view release on metacpan or search on metacpan
lib/AnyEvent/RipeRedis.pm view on Meta::CPAN
$redis->incr('foo'); # causes an error
$redis->exec(
sub {
my $reply = shift;
my $err = shift;
if ( defined $err ) {
my $err_msg = $err->message();
my $err_code = $err->code();
if ( defined $reply ) {
foreach my $nested_reply ( @{$reply} ) {
if ( ref($nested_reply) eq 'AnyEvent::RipeRedis::Error' ) {
my $nested_err_msg = $nested_reply->message();
my $nested_err_code = $nested_reply->code();
# error handling...
}
}
return;
}
# error handling...
return;
}
# reply handling...
},
);
=head2 discard( [ $cb->( $reply, $err ) ] )
Flushes all previously queued commands in a transaction and restores the
connection state to normal.
If C<WATCH> was used, C<DISCARD> unwatches all keys.
=head2 watch( @keys [, $cb->( $reply, $err ) ] )
Marks the given keys to be watched for conditional execution of a transaction.
=head2 unwatch( [ $cb->( $reply, $err ) ] )
Forget about all watched keys.
=head1 SUBSCRIPTIONS
Once the client enters the subscribed state it is not supposed to issue any
other commands, except for additional C<SUBSCRIBE>, C<PSUBSCRIBE>,
C<UNSUBSCRIBE>, C<PUNSUBSCRIBE> and C<QUIT> commands.
The detailed information about Redis Pub/Sub can be found here:
L<http://redis.io/topics/pubsub>
=head2 subscribe( @channels, ( $cb->( $msg, $channel ) | \%cbs ) )
Subscribes the client to the specified channels.
Method can accept two callbacks: C<on_reply> and C<on_message>. The C<on_reply>
callback is called when subscription to all specified channels will be
activated. In first argument to the callback is passed the number of channels
we are currently subscribed. If subscription to specified channels was lost,
the C<on_reply> callback is called with the error object in the second argument.
The C<on_message> callback is called on every published message. If the
C<subscribe> method is called with one callback, this callback will be act as
C<on_message> callback.
$redis->subscribe( qw( foo bar ),
{ on_reply => sub {
my $channels_num = shift;
my $err = shift;
if ( defined $err ) {
# error handling...
return;
}
# reply handling...
},
on_message => sub {
my $msg = shift;
my $channel = shift;
# message handling...
},
}
);
$redis->subscribe( qw( foo bar ),
sub {
my $msg = shift;
my $channel = shift;
# message handling...
}
);
=head2 psubscribe( @patterns, ( $cb->( $msg, $pattern, $channel ) | \%cbs ) )
Subscribes the client to the given patterns. See C<subscribe()> method for
details.
$redis->psubscribe( qw( foo_* bar_* ),
{ on_reply => sub {
my $channels_num = shift;
my $err = shift;
if ( defined $err ) {
# error handling...
return;
}
# reply handling...
},
lib/AnyEvent/RipeRedis.pm view on Meta::CPAN
Transaction discarded because of previous errors.
=back
Error codes available since Redis 2.8.
=over
=item E_NO_AUTH
Authentication required.
=item E_WRONG_TYPE
Operation against a key holding the wrong kind of value.
=item E_NO_REPLICAS
Not enough good slaves to write.
=item E_BUSY_KEY
Target key name already exists.
=back
Error codes available since Redis 3.0.
=over
=item E_CROSS_SLOT
Keys in request don't hash to the same slot.
=item E_TRY_AGAIN
Multiple keys request during rehashing of slot.
=item E_ASK
Redirection required. For more information see:
L<http://redis.io/topics/cluster-spec>
=item E_MOVED
Redirection required. For more information see:
L<http://redis.io/topics/cluster-spec>
=item E_CLUSTER_DOWN
The cluster is down or hash slot not served.
=back
=head1 DISCONNECTION
When the connection to the server is no longer needed you can close it in three
ways: call the method C<disconnect()>, send the C<QUIT> command or you can just
"forget" any references to an AnyEvent::RipeRedis object, but in this
case the client object is destroyed without calling any callbacks, including
the C<on_disconnect> callback, to avoid an unexpected behavior.
=head2 disconnect()
The method for synchronous disconnection. All uncompleted operations will be
aborted.
=head2 quit( [ $cb->( $reply, $err ) ] )
The method for asynchronous disconnection.
=head1 OTHER METHODS
=head2 info( [ $section ] [, $cb->( $reply, $err ) ] )
Gets and parses information and statistics about the server. The result
is passed to callback as a hash reference.
More information about C<INFO> command can be found here:
L<http://redis.io/commands/info>
=head2 host()
Gets current host of the client.
=head2 port()
Gets current port of the client.
=head2 select( $index, [, $cb->( $reply, $err ) ] )
Selects the database by numeric index.
=head2 database()
Gets selected database index.
=head2 utf8( [ $boolean ] )
Enables or disables UTF-8 mode.
=head2 connection_timeout( [ $fractional_seconds ] )
Gets or sets the C<connection_timeout> of the client. The C<undef> value resets
the C<connection_timeout> to default value.
=head2 read_timeout( [ $fractional_seconds ] )
Gets or sets the C<read_timeout> of the client.
=head2 reconnect( [ $boolean ] )
Enables or disables reconnection mode of the client.
=head2 reconnect_interval( [ $fractional_seconds ] )
Gets or sets C<reconnect_interval> of the client.
=head2 on_connect( [ $callback ] )
( run in 0.961 second using v1.01-cache-2.11-cpan-d7f47b0818f )