Skip to main content

A decorator for caching properties in Redis.

Project description

redis-property

GitHub Build Status codecov PyPI

A decorator for caching properties in redis. Inspired by cached-property

Installation

pip3 install redis-property

How to use it

Setup redis_property

import redis_property

redis_property.configure(
    "redis://:123456@example:6379/0", 
    lambda o, f: f"{type(o).__name__}:{o.id}:{f.__name__}"
)

use it like python property

from redis_property import redis_property

class Something:
    id = 1

    @redis_property(10)  # 24h by default
    def name(self):
        return 1

something = Something()
print(something.name)

invalidating the cache

del something.name

work with cached-property

from cached_property import cached_property
from redis_property import redis_property

class Something:
    id = 1

    @cached_property
    @redis_property
    def name(self):
        return 1

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-property-1.8.2.tar.gz (2.9 kB view hashes)

Uploaded Source

Built Distribution

redis_property-1.8.2-py3-none-any.whl (3.9 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