silva-cms缓存子系统
silva.core.cache的Python项目详细描述
演示文稿
这个包为silva相关的 组件,基于Beaker。 默认情况下,内容将缓存在内存中,但您可以使用不同的 像文件、memcache或sql数据库这样的存储来存储缓存的内容。
对于单实例安装,我们建议将内存用作 储藏室。对于zeo/multi-zope实例安装,我们建议 使用memcache作为存储。
要使用memcache建议安装pylibmc,可以通过 建造。请参阅Silva的安装文档 这。
在zope配置中进行配置之后 (zope.conf)要用于哪些区域的存储:
<product-config silva.core.cache> # default region default.lock_dir /tmp/memcache default.type ext:memcached default.url localhost:11211 # shared region shared.lock_dir /tmp/memcache shared.type ext:memcached shared.url someotherhost:11211 </product-config>
API
开发人员可以使用不同的工具,主要是:
- silva.core.cache.descriptors.cached_method
- 可用于类方法缓存其 计算。它可以使用region来指定哪个缓存 要使用的区域,一个key,它是一个可调用的,作为参数 调用该方法以计算缓存的类 钥匙。如果未指定region,则所有其他参数都是烧杯 用于配置所用缓存管理器的选项。
- silva.core.cache.descriptors.cached_property
- 可在类上用于创建只读的decorator 将其计算缓存在烧杯中的属性。除了 key它采用的参数与cached_method相同。
- silva.core.cache.store.Store
- 给出一个缓存名,就可以像访问这个 缓存。
- silva.core.cache.store.SessionStore
- 根据请求构造,它是一个类似于访问 此用户会话的唯一缓存。会话标识为 适配器IClientId的帮助。一个 zope 2的这个适配器的实现在这个包中完成。
- silva.core.cache.interfaces.ICacheManager
- 全局实用程序提供此接口,使您可以访问所有 此扩展使用的缓存管理器。
- silva.core.cache.memcacheutils.MemcacheSlice
- 在memcache中存储项目列表。
代码库
此扩展的代码可以在git中找到,网址为: https://github.com/silvacms/silva.core.cache
更改
3.0.2(2013/03/06)
- 会话cookie现在使用IVirtualSite新的顶级路径方法 确保为整个站点设置cookie而不是根路径。
3.0.1(2012/09/24)
- 会话cookie现在使用httponly标志。
- 更新API以匹配Silva 3.0C1。
3.0(2011/11/08)
- 添加一个memcache切片以在memcache中存储项目列表。有 如果没有memcache,则可以使用回退。
- 改进缓存描述符。
2.3.2(2010/10/27)
- 确保缓存键始终为字符串。这是memcache所要求的 实现。
2.3.1(2010/10/18)
- 在虚拟主机托管的情况下修复cookie会话的cookie路径。
2.3(2010/10/06)
- 初次发布。