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)

  • 初次发布。

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

推荐PyPI第三方库


热门话题
Android:如何写入特定行,Java   Java中从欧元货币字符串中删除空格的数字   Java非均匀多维数组   解密AES时出现java空指针异常   java ConcurrentModificationException尝试移除列表上的所有内容时(非迭代)   Java数学库计算日志   java ISO8601,使用Jackson以毫秒表示json   避免副作用的java最佳实践   java获取JMeterException:调用bsh方法时出错:未定义参数:saa。使用beanshell取样器时   使用javascript将会话从一个jsp页面传输到另一个jsp页面   java在列表中组合相邻元素   java多行JTextPane   java Hibernate映射文件连接两个表而不定义关系?   如何使用Ajax、Java和Spring框架将文件从网页上传到Google云存储   多线程多线程Java中producerconsumer代码的多线程没有提供正确的输出?