Cache-RedisDB

 view release on metacpan or  search on metacpan

lib/Cache/RedisDB.pm  view on Meta::CPAN

 $redis->set($namespace, $key, $value, $expiry_time);

Can also be provided a callback which will be executed once the command completes.

=cut

sub set {
    my ($self, $namespace, $key, $value, $exptime, $callback) = @_;
    if (not defined $value or ref $value or Encode::is_utf8($value)) {
        state $encoder = Sereal::Encoder->new({
            freeze_callbacks => 1,
        });
        $value = $encoder->encode($value);
    }
    my $cache_key = _cache_key($namespace, $key);
    if (defined $exptime) {
        $exptime = int(1000 * $exptime);
        # PX milliseconds -- Set the specified expire time, in milliseconds
        return redis()->set($cache_key, $value, "PX", $exptime, $callback // ());
    } else {
        return redis()->set($cache_key, $value, $callback // ());



( run in 0.963 second using v1.01-cache-2.11-cpan-9b1e4054eb1 )