跳转到主要内容

Silva CMS的缓存子系统

项目描述

展示

此软件包为与Silva相关的组件提供可插拔的缓存支持,基于Beaker。默认情况下,内容将在内存中缓存,但您可以使用不同的存储方式,如文件、memcache或SQL数据库来存储缓存内容。

对于单实例安装,我们建议使用内存作为存储。对于ZEO / 多Zope实例安装,我们建议使用memcache作为存储。

要使用memcache,建议安装pylibmc,这可以通过buildout完成。有关详细信息,请参阅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

装饰器,可用于类方法上以缓存其计算。它可以接受一个区域,指定使用哪个缓存区域,一个,它是一个可调用的,以参数形式接受调用方法所在类的对象来计算缓存键。如果没有指定区域,则所有其他参数都是用于配置缓存管理器的Beaker选项。

silva.core.cache.descriptors.cached_property

装饰器,可用于类上创建一个只读属性,其计算结果在Beaker中缓存。除了外,它接受与cached_method相同的参数。

silva.core.cache.store.Store

指定一个缓存名称,它提供了对这个缓存的字典访问。

silva.core.cache.store.SessionStore

由请求构建而成,它为该用户会话提供了一个唯一的缓存字典访问。会话通过zope.session的适配器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路径。

2.3 (2010/10/06)

  • 初始发布。

项目详细信息


下载文件

下载适用于您平台文件的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

silva.core.cache-3.0.2.tar.gz (11.6 kB 查看哈希值)

由以下支持:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面