Skip to main content

No project description provided

Project description

Redis Mutator

Inject another Redis connection to your Redis connection!

Installation

pip install redis-mutator

Uses

  1. Separate read-only functions to another Redis connection.
  2. Log functions as you use them.

How to Use

from redis_mutator import mutate, READ_METHOD_NAMES
from redis import Redis

redis = Redis(...)
read_only_redis = Redis(...)
mutate(redis, READ_METHOD_NAMES).use(read_only_redis)

redis.sadd("hello", "world!") # Uses `redis`.
redis.smembers("hello") # Uses `read_only_redis`.

Specify Method Names

from redis_mutator import mutate
from redis import Redis

redis = Redis(...)
my_other_redis = Redis(...)
mutate(redis, "sadd", "spop").use(my_other_redis)

redis.sadd("hello", "world!") # Uses `my_other_redis`.
redis.spop("hello", 1) # Uses `my_other_redis`.

redis.hset("hello", "world", "hi") # Uses `redis`.
redis.hget("hello", "world") # Uses `redis`.

Prefix & Postfix Hooks

from redis_mutator import mutate
from redis import Redis

redis = Redis(...)
my_other_redis = Redis(...)

def prefix(*args, **kwargs):
    print('Prefix called.')

def postfix(value):
    print('Postfix called.')

mutate(redis, "sadd", "spop").prefix(prefix)
mutate(redis, "sadd", "spop").postfix(postfix)

redis.sadd("hello", "world!")
# Prefix called.
# `redis.sadd(...)`
# Postfix called.

Override Methods

from redis_mutator import mutate
from redis import Redis

redis = Redis(...)
my_other_redis = Redis(...)

def prefix(*args, **kwargs):
    print('Hi-jacked!')

    return False # Return `False` to stop the process.

mutate(redis, "sadd", "spop").prefix(prefix)

redis.sadd("hello", "world!") # Hi-jacked!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

redis_mutator-0.2.0.tar.gz (3.2 kB view hashes)

Uploaded Source

Built Distribution

redis_mutator-0.2.0-py3-none-any.whl (4.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page