缓存实用程序的集合。

cachingutil的Python项目详细描述


提供缓存功能的类的层次结构 小题大做。

使用缓存时,只需使用fetch方法。 如果它存在并且 未过期,否则将使用“从源获取”。

缓存

抽象类。 不应使用。提供方法 由包提供的子类所需。

需要在具体类中实现的方法:
键 从源获取 隐藏物 按密钥从缓存中获取 按密钥删除 有效期
可选:
烹饪

基本内存类

抽象类。

必须在具体类中实现的方法:
键 从源获取 计算有效期
可选:
烹饪

简单内存类

抽象类。

必须在具体类中实现的方法:
键 从源获取
可选:
烹饪

basehttpmemorycache

抽象类。

缓存请求对象或从请求生成的对象。

TOdo:改进过期计算。目前只使用最大年龄。

必须在具体类中实现的方法:
键 从源获取 为项目获取请求(如果缓存从请求对象生成的对象)
可选:
烹饪

httpmemorycache

混凝土等级。

使用url字符串作为键。 使用requests.get作为从源获取。

使用: 实例化并使用instance.fetch(url)从缓存或源中获取。

二进制文件缓存

抽象类。

读取和写入二进制文件。适合缓存 图像。

必须在具体类中实现的方法:
键 从源获取
可选:
烹饪

文件缓存

抽象类。

使用编码读取和写入文件。

必须在具体类中实现的方法:
键 从源获取
可选:
厨师 编码 解码

jsonfilecache

抽象类。

这只是带有json编码和解码的文件缓存。

从源获取应返回一个json字符串。 如果设置了对象对钩子,则解码将 用这个。通常使用:collections.ordereddict 以保持元素的顺序。

必须在具体类中实现的方法:
键 从源获取
可选:
厨师 对象对挂钩

二级缓存

混凝土等级。

通常这意味着内存中的缓存连接到 持久缓存(如文件、数据库)。那意味着 你的缓存在许多执行过程中都会保持,但不会 需要访问比 每项提取一次。

要使用它,实现两个缓存并实例化 TwoLevelCache加入他们。传入内存缓存类 作为临时缓存和持久缓存类 作为(惊喜!)佩西斯滕特缓存。

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

推荐PyPI第三方库


热门话题
java IllegalStateException:在onBackPressed()上的onSaveInstanceState之后无法执行此操作;   java处理巨大的JSON响应   指向易趣时出现java fileNotFoundException。来自手机的com   java从数组填充GridView   两个三维向量之间的角度   java无法运行程序“cf”:错误=2,没有这样的文件或目录,错误=2   java如何使用DOCX4J从<a href到MS word bookmark/hyperlink创建内部超链接。使用DOCX4J为word文档中的TOC创建超链接   设计模式java的目标是什么。尼奥。文件CopyOption接口?   java从SQLiteDB获取选择信息?   Java引用错误   使用函数作为参数的java   tic-tac-toe似乎无法正确编译我的方法(Java)   使用泛型作为方法参数的java   java类'OIDCtenatConfig'无法解析,为什么?   如果Java中有两个同名的方法,如何告诉编译器我将使用什么方法?   java hazelcast flake id返回不同的数据   java如何按值对树集排序?   java为什么泛型类型信息在类文件中可见?   JavaSpringDataJPA+SpringProjections使用@Query(native和JPQL)为相关实体返回null