用一行代码将redis用作外部redis

redis-decorator的Python项目详细描述


快速启动

安装

pip install redis_decorator

初始化

fromredis_decimportCachefromredisimportStrictRedisredis=StrictRedis(decode_responses=True)cache=Cache(redis)

示例

确保已启动并运行redis。(https://redis.io/

示例1:缓存字符串返回

fromtimeimportsleepfromdatetimeimportdatetime@cache.ttl(300)defpseudo_calc():sleep(1)print("Computation in progress")returnstr(datetime.now())foriinrange(10):print(pseudo_calc())

示例2:缓存pandas数据帧
# 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.importpandasaspd@cache.df(300)defreturn_a_df(*args,**kwargs):sleep(1)print("Computation in progress")returnpd.DataFrame({"time":[str(datetime.now())for_inrange(5)],"foo":list(range(5))})foriinrange(5):print(return_a_df(1,5))

示例3:缓存dict
@cache.dict(60)defreturn_a_dict(*args,**kwargs):sleep(1)print("Computation in progress")return{"now":str(datetime.now())}foriinrange(5):print(return_a_dict())

示例4:缓存浮点数

@cache.float(60)defreturn_a_float(*args,**kwargs):returnrandom()foriinrange(5):print(return_a_float())

删除缓存

# Delete cache by function and signaturecache.delete_cache(return_a_float,2,b=3)# Delete cache by functioncache.delete_cache(return_a_float)# Delete all cachescache.delete_cache()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么即使我已经给出了代码中的所有权限,该代码也没有在emulator中运行?   java Android Studio正在抛出“线程中的异常”main“javax.net.ssl.SSLException:收到致命警报:协议\版本”   java中的for循环嵌套foreach语句   java读取/src/main/resources和/webinf/classes下的文件   java无法以此格式构造JSON响应   身份验证尝试从CAS secure rest api获取响应,但从java客户端获取登录页面作为响应   如何在java中使用excel从第1列和第3列获取单元格值,并将其作为键值对放入map中   在Java程序中打开Windows虚拟键盘   java有没有递归调用findMatch的方法?   java Pig脚本/命令,用于根据多个字符串筛选文件   java最小数量应匹配,应与POST匹配   java打开/关闭声音按钮不工作   Java嵌入式数据库持久性   java在方法调用时引发异常   java文本文件被覆盖而不是保存的问题   java Hibernate sql注释