Metadata-Version: 1.1
Name: silva.core.cache
Version: 2.3.3
Summary: caching utils for Silva
Home-page: https://hg.infrae.com/silva
Author: Infrae
Author-email: info@infrae.com
License: ZPL
Description: ================
        silva.core.cache
        ================
        
        Presentation
        ============
        
        This package provide a pluggable cache support for Silva related
        components, base on `Beaker <http://beaker.groovie.org/index.html>`_.
        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.
        
Keywords: zope2 cache silva
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Framework :: Zope2
