[Python-Dev] new LRU cache API in Py3.2 (original) (raw)
Daniel Stutzbach daniel at stutzbachenterprises.com
Sat Sep 4 16:21:25 CEST 2010
- Previous message: [Python-Dev] new LRU cache API in Py3.2
- Next message: [Python-Dev] new LRU cache API in Py3.2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sat, Sep 4, 2010 at 3:28 AM, Stefan Behnel <stefan_ml at behnel.de> wrote:
What about adding an intermediate namespace called "cache", so that the new operations are available like this:
I had been thinking that the lru_cache should be a class (with a dict-like interface), so it can be used explicitly and not just as a decorator. It could provide a wrap() method to be used as a decorator (or implement call to keep the current semantics, but explicit is better than implicit)
widget_cache = lru_cache() widget_cache[name] = widget
@lru_cache().wrap def get_thingy(name): return something(name)
get_thingy.cache is an lru_cache instance
print(get_thingy.cache.hits)
I have been using a similar LRU cache class to store items retrieved from a database. In my case, a decorator-paradigm wouldn't work well because I only want to cache a few of the columns from a much larger query, plus there are multiple functions that want to talk to the cache.
Daniel Stutzbach, Ph.D. President, Stutzbach Enterprises, LLC <http://stutzbachenterprises.com> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20100904/52e44afc/attachment.html>
- Previous message: [Python-Dev] new LRU cache API in Py3.2
- Next message: [Python-Dev] new LRU cache API in Py3.2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]