Skip to main content

Using redis as external redis_dec by one line of code

Project description

Quick start

Install

pip install redis_decorator

Initialize

from redis_dec import Cache
from redis import StrictRedis
redis = StrictRedis(decode_responses=True)
cache = Cache(redis)

Examples

Make sure you have redis up and running.(https://redis.io/)

Example1 : Cache string return

from time import sleep
from datetime import datetime
@cache.ttl(300)
def pseudo_calc():
    sleep(1)
    print("Computation in progress")
    return str(datetime.now())

for i in range(10):
    print(pseudo_calc())

Example 2: Cache Pandas Dataframe

# Set cache's time to live to 300 seconds (expires in 300 seconds)
# If left blank, e.g. @cache.df(), cache will stay forever. Don't recommended.
import pandas as pd
@cache.df(300)
def return_a_df(*args, **kwargs):
    sleep(1)
    print("Computation in progress")
    return pd.DataFrame({"time": [str(datetime.now()) for _ in range(5)], "foo": list(range(5))})


for i in range(5):
    print(return_a_df(1, 5))

Example 3: Cache dict

@cache.dict(60)
def return_a_dict(*args, **kwargs):
    sleep(1)
    print("Computation in progress")
    return {"now": str(datetime.now())}


for i in range(5):
    print(return_a_dict())

Example 4: Cache float number

@cache.float(60)
def return_a_float(*args, **kwargs):
    return random()


for i in range(5):
    print(return_a_float())

Delete Cache

# Delete cache by function and signature
cache.delete_cache(return_a_float, 2, b=3) 
# Delete cache by function
cache.delete_cache(return_a_float)
# Delete all caches
cache.delete_cache()

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_decorator-0.4.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

redis_decorator-0.4-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file redis_decorator-0.4.tar.gz.

File metadata

  • Download URL: redis_decorator-0.4.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for redis_decorator-0.4.tar.gz
Algorithm Hash digest
SHA256 2a9dd3c131b45eb4a9e53813f8a0d2bb55420191c23dee4572b676e28f670fa5
MD5 d035c13fa0a9fef45f04de5c080ed67b
BLAKE2b-256 14206c916232c4fea1aaa6a993510e724d01f552ef806ef4ed43ecc98207c503

See more details on using hashes here.

File details

Details for the file redis_decorator-0.4-py3-none-any.whl.

File metadata

  • Download URL: redis_decorator-0.4-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for redis_decorator-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 61c11b8cd6fb72caedd26da28830688e77667c9f5abac00c5279a76ba56777b2
MD5 50f13d37000c8daa9d31c879d05f3c09
BLAKE2b-256 3d69c3b9890f032fd059a80508b2e62020c39ee01616491ee3722f1591e53fc0

See more details on using hashes here.

Supported by

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