cybertools/util/cache.txt
helmutm 4b2e3e175b provide simple caching
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@3449 fd906abe-77d9-0310-91a1-e0d9ade77398
2009-07-07 14:57:29 +00:00

41 lines
672 B
Text

============
Data Caching
============
$Id$
>>> from cybertools.util.cache import cache
>>> @cache(lambda *args: 'calc')
... def calculate():
... print 'calculating'
... return 42
>>> calculate()
calculating
42
>>> calculate()
42
>>> class Demo(object):
... id = '4711'
... def getId(self, *args):
... return self.id
... @cache(getId)
... def calculate(self):
... print 'calculating'
... return 42
>>> demo = Demo()
>>> demo.calculate()
calculating
42
>>> demo.calculate()
42
>>> demo.id = '4712'
>>> demo.calculate()
calculating
42
>>> demo.calculate()
42