Skip to main content

caching utils for Silva

Project description

Presentation

This package provide a pluggable cache support for Silva related components, base on Beaker. By default content will be cached in memory, but you can use a different storage like files, memcache or an SQL database to store cached content.

For a single instance installation we recommand to use memory as storage. For a ZEO / multi Zope instance installation we recommand to use memcache as storage.

To use memcache recommend to install pylibmc, this can be done via buildout. Please refer to the installation documentation of Silva for this.

After you can configure in your Zope configuration (zope.conf) which storage to use for which regions:

<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

Developers have different tools at their disposal, mainly:

silva.core.cache.descriptors.cached_method

Decorator that can be used on a class method to cache its computation. It can take a region which specify which caching region to use, a key which is a callable, taking as parameter the class on which the method is called to compute a caching key. If region is not specified, all other parameters are Beaker options used to configured the cache manager used.

silva.core.cache.descriptors.cached_property

Decorator that can be used on a class to create a read-only property where its computation is cached in Beaker. Except for key it takes the same parameters than cached_method.

silva.core.cache.store.Store

Giving a cache name, it give a dictionnary like access to this cache.

silva.core.cache.store.SessionStore

Constructed out of a request, it is a dictionnary like access to a unique cache for this user session. The session is identified with the help of the adapter IClientId of zope.session. An implementation of this adapter for Zope 2 is done in this package.

silva.core.cache.interfaces.ICacheManager

A global utility provides this interface to give you access to all cache managers used by this extension.

Changes

2.3.3 (2010/07/27)

  • Fix bugs in decorator cached_method (more options to cache key function, fix expire).

2.3.2 (2010/10/27)

  • Ensure caching keys are always string. This is required by memcache implementations.

2.3.1 (2010/10/18)

  • Fix cookie path for cookie session in case of virtual host hosting.

2.3 (2010/10/06)

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

silva.core.cache-2.3.3.tar.gz (8.3 kB view details)

Uploaded Source

File details

Details for the file silva.core.cache-2.3.3.tar.gz.

File metadata

File hashes

Hashes for silva.core.cache-2.3.3.tar.gz
Algorithm Hash digest
SHA256 8760da7a206f4074514cc25309413aa3037cace1c25610d03588c13fd809196b
MD5 2c022db9eecaf5d00a336b7229992b59
BLAKE2b-256 e10ad2ee7b9fb74f2be948007a70692e4e14fb468ae4fbb41c4c5a22556fe7af

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page