shogo82148 / Redis-Fast

fast perl binding for Redis database
https://metacpan.org/release/Redis-Fast
Other
25 stars 21 forks source link

Add support for transactions in reconnect mode #8

Closed vsespb closed 10 years ago

vsespb commented 10 years ago

feature requres - transactions in reconnect mode. like this one https://github.com/PerlRedis/perl-redis/pull/86

shogo82148 commented 10 years ago

Redis::Fast 0.0.8 is compatible with Redis.pm 1.974, and it contains changes of PerlRedis/perl-redis#86. it didn't work correctly?

vsespb commented 10 years ago

Ok. Indeed 0.08 works correctly. I had old version. Sorry.

below code works correctly (throws reconnect disabled inside transaction or watch if server restarted during sleep)

use strict;
use warnings;
use Redis::Fast;

my $redis = Redis::Fast->new(server => 'localhost:6379', reconnect=>1);
$redis->select(2);

{
    $redis->del('key1');
    $redis->del('key2');
    $redis->multi;
    $redis->set('key1', 1);
    print "sleep\n";
    sleep 10;
    $redis->set('key2', 2);
    eval {
        $redis->exec;
        1;
    } or do {
        print "$@\n";
    };
    print $redis->get('key1'), $redis->get('key2'), "\n";
}
shogo82148 commented 10 years ago

Don't worry about it. Thank you for your cooperation!