Zope2的缓存管理器。

Products.StandardCacheManagers的Python项目详细描述


概述

这个包为zope提供了两个缓存管理器。一个ramcachemanager和一个 加速的http缓存管理器,它向响应添加http缓存头。

以下是为对 ramcachemanager,例如维护人员。

简介

缓存框架不会以任何方式解释数据,它会执行以下操作 就像一般的数据存储一样。它试图检查 不过,数据是可以提取的。听着,只有可pickle数据是 可缓存。

ramcachemanager背后的思想是它应该在 线程,以便在每个线程中不缓存相同的对象。这个 通过将缓存数据结构本身存储为模块来实现 级别变量(ramcachemanager.caches)。当然,这需要 锁定该数据结构的修改。

每个ramcachemanager实例在ramcachemanager.caches中都有一个缓存 字典。创建缓存时生成唯一的缓存ID 它被用作缓存的密钥。

对象层次结构

内存缓存管理器
内存缓存
对象缓存条目
缓存条目

ramcachemanager是一个持久的placeful对象。它被分配一个 创建时的唯一缓存ID。然后用它作为一把钥匙 全局缓存字典中相应的ramcache对象。 因此,每个ramcachemanager都有一个与之相关的ramcache。

ramcache是一个易失性缓存,对每个ramcachemanager都是唯一的。它是 在线程之间共享并执行所有锁定。它有一个书面记录。 但是在读取时没有锁定。ramcache有一本字典 由缓存对象的物理路径索引的objectcacheentries。

objectcacheentries是单个对象的缓存值的容器。 其中的值由视图名的元组索引,有趣的是 请求变量和传递给cache.zcache_set()的额外关键字。

cacheentry是单个缓存值的包装器。它存储 数据本身、创建时间、查看名称并保持访问计数。

更改日志

4.0.2(2019-02-17)

  • 在setup.py中使用python_requires指定受支持的python版本
  • 增加了对Python3.7和3.8的支持
  • 已放弃对Python3.4的支持,因为Zope不再支持它了
  • 更符合PEP8。

4.0.1(2017-05-23)

  • 将版本依赖项移动到已发布的zope版本

4.0.0(2017-05-13)

  • 需要Zope 4。
  • python 3-兼容性

3.0(2016-07-18)

  • 删除helpsys支持。

2.13.1(2014-09-14)

  • 防止在没有请求的情况下在上下文中缓存RAM时出现警告。

2.13.0(2010-07-11)

  • 作为单独包装发布。

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

推荐PyPI第三方库


热门话题
java正确使用setCellValueFactory   java当使用flavor维度时,设置Android applicationId的正确方法是什么?   java为了在测试用例中并发执行某些步骤,可以克隆WebDriver实例   JAVA中的If语句给出错误   java在kindle上使用JavaFX   java如何在屏幕上显示多个视图时提高性能?   java“重命名”文件项   使用kafka运行Spark流媒体示例时出现java NoSuchMethodError   java如何在查询视图时返回实体列表   java在条件表达式中使用equals方法   java实现了一种回调机制,用于通知插入/更新   java我想用动态的方式把这个json做成表格式,我怎样才能用安卓来制作呢?   java在另一个字符串的特定点输入字符串时遇到问题   java如何在SeleniumWebDriver中选择xpath中具有动态值的对象   JavaJooq生成一个静态方法来调用函数,但没有方法将其作为字段   scala文件名包含斜杠标点符号,并在线程“main”java中给出异常。木卫一。FileNotFoundException:foo/boo/en_en。json(没有这样的文件或目录)   java使用Saxon和XSLT转换JDOM XML文档   使用Java数组   java从smb文件夹读取文件   java在where in子句中没有值时如何执行查询