Nicholas Perez > ShardedKV-0.15 > ShardedKV::Storage::Redis

Download:
ShardedKV-0.15.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.15   Source   Latest Release: ShardedKV-0.20

NAME ^

ShardedKV::Storage::Redis - Abstract base class for storing k/v pairs in Redis

VERSION ^

version 0.15

SYNOPSIS ^

  # use a subclass instead

DESCRIPTION ^

This class consumes the ShardedKV::Storage role. It is an abstract base class for storing key-value pairs in Redis. It does not actually implement the get() and set() methods and does not impose a Redis value type. Different subclasses of this class are expected to represent different storages for distinct Redis value types.

PUBLIC ATTRIBUTES ^

redis_connect_str

A hostname:port string pointing at the Redis for this shard. Required.

redis

The Redis object that represents the connection. Will be generated from the redis_connect_str attribute and may be reset/reconnected at any time.

expiration_time

Base key expiration time to use in seconds. Defaults to undef / not expiring at all.

expiration_time_jitter

Additional random jitter to add to the expiration time. Defaults to 0. Don't set to undef to disable, set to 0 to disable.

database_number

Indicates the number of the Redis database to use for this shard. If undef/non-existant, no specific database will be selected, so the Redis server will use the default.

PUBLIC METHODS ^

delete

Implemented in the base class, this method deletes the given key from the Redis shard.

get

Not implemented in the base class. This method is supposed to fetch a value back from Redis. Beware: Depending on the ShardedKV::Storage::Redis subclass, the reference type that this method returns may vary. For example, if you use ShardedKV::Storage::Redis::String, the return value will be a scalar reference to a string. For ShardedKV::String::Redis::Hash, the return value is unsurprisingly a hash reference.

set

The counterpart to get. Expects values as second argument. The value must be of the same reference type that is returned by get().

SEE ALSO ^

AUTHORS ^

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2013 by Steffen Mueller.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: