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
Release history Release notifications | RSS feed
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 hashes)
Built Distribution
Close
Hashes for redis_decorator-0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61c11b8cd6fb72caedd26da28830688e77667c9f5abac00c5279a76ba56777b2 |
|
MD5 | 50f13d37000c8daa9d31c879d05f3c09 |
|
BLAKE2b-256 | 3d69c3b9890f032fd059a80508b2e62020c39ee01616491ee3722f1591e53fc0 |