The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Myriad::Storage::Implementation::Redis - access to microservice storage via Redis

DESCRIPTION

This provides an implementation of Myriad::Role::Storage using https://redis.io as the underlying storage mechanism and transport layer.

See Myriad::Role::Storage for API details.

apply_prefix

Add the storage prefix to the key before sending it to Redis

get

Takes the following parameters:

  • $k - the relative key in storage

Returns a Future which will resolve to the corresponding value, or undef if none.

set

Takes the following parameters:

  • $k - the relative key in storage

  • $v - the scalar value to set

Note that references are currently not supported - attempts to write an arrayref, hashref or object will fail.

Returns a Future which will resolve on completion.

getset

Takes the following parameters:

  • $k - the relative key in storage

  • $v - the scalar value to set

Note that references are currently not supported - attempts to write an arrayref, hashref or object will fail.

Returns a Future which will resolve to the original value on completion.

incr

Takes the following parameters:

  • $k - the relative key in storage

Returns a Future which will resolve to the corresponding incremented value, or undef if none.

observe

Observe a specific key.

Returns a Ryu::Source which will emit the current and all subsequent values.

observe_namespace

Observe and entire namespace.

push

Takes the following parameters:

  • $k - the relative key in storage

  • $v - the scalar value to set

Returns a Future which will resolve to .

unshift

Takes the following parameters:

Returns a Future which will resolve to .

pop

Takes the following parameters:

Returns a Future which will resolve to .

shift

Takes the following parameters:

Returns a Future which will resolve to .

hash_set

Takes the following parameters:

Returns a Future which will resolve to .

hash_get

Takes the following parameters:

Returns a Future which will resolve to the scalar value for this key.

hash_add

Takes the following parameters:

Returns a Future indicating success or failure.

hash_keys

Takes the following parameters:

Returns a Future which will resolve to a list of the keys in no defined order.

hash_values

Takes the following parameters:

Returns a Future which will resolve to a list of the values in no defined order.

hash_exists

Takes the following parameters:

Returns a Future which will resolve to true if the key exists in this hash.

hash_count

Takes the following parameters:

Returns a Future which will resolve to the count of the keys in this hash.

hash_as_list

Takes the following parameters:

Returns a Future which will resolve to a list of key/value pairs, suitable for assigning to a hash.

orderedset_add

Takes the following parameters:

  • $k - the relative key in storage

  • $s - the scalar score to be attached to member

  • $m - the scalar member value

Note that references are not supported - attempts to write an arrayref, hashref or object will fail.

Redis sorted sets data structure family. add a scored member value to a storage key

Returns a Future which will resolve on completion.

orderedset_remove_member

Takes the following parameters:

  • $k - the relative key in storage

  • $m - the scalar member value

Redis sorted sets data structure family. removes a specific member from ordered set in storage

Returns a Future which will resolve on completion.

orderedset_remove_byscore

Takes the following parameters:

  • $k - the relative key in storage

  • $min - the minimum score

  • $max - the max score

Redis sorted sets data structure family. removes all members with scores between minimum and maximum within an ordered set in storage

Returns a Future which will resolve on completion.

orderedset_member_count

Takes the following parameters:

  • $k - the relative key in storage

  • $min - the minimum score

  • $max - the max score

Redis sorted sets data structure family. gives the members count within the provided min and max scores in an ordered set.

Returns a Future which will resolve on completion.

orderedset_members

Takes the following parameters:

  • $k - the relative key in storage

  • $min - the minimum score

  • $max - the max score

  • $with_score - flag to return members with or without scores

Redis sorted sets data structure family. gives list of members within the provided min and max scores in an ordered set.

Returns a Future which will resolve on completion.

INHERITED METHODS

Object::Pad::UNIVERSAL

BUILDARGS

AUTHOR

Deriv Group Services Ltd. DERIV@cpan.org.

See "CONTRIBUTORS" in Myriad for full details.

LICENSE

Copyright Deriv Group Services Ltd 2020-2022. Licensed under the same terms as Perl itself.