用一行代码将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检查服务器端广告查看(php)   Java将注释的使用限制在某些类型的方法上?   java使用gson重用顶级模型   当Java Spring作为Docker容器运行时,它不会与Concur对话   通过Java在不使用新URL()的情况下加载文件   Dicom4che调用的java结果不显示umlaut字符   java Updatea使用php/codeigniter使用ajax/javascript映射标记   Java8中的javaspringboot@ExceptionHandler未被访问   java如何读取长度未知的用户输入?   EclipseJava在MacBook和OSX上的性能非常差,而在Windows下在同一个单元上的性能就不那么差了,为什么?   java在Lucene查询语法中与+有什么区别   使用Spark和Cassandra Java驱动程序时检测到番石榴问题#1635   java工具栏标题未显示在选项卡式活动中