diff options
author | Thomas Kemmer <tkemmer@computer.org> | 2014-03-25 06:44:31 +0100 |
---|---|---|
committer | Thomas Kemmer <tkemmer@computer.org> | 2014-03-27 06:14:15 +0100 |
commit | 35f85f2f78f842b15609c5973f1fdd261c0a6476 (patch) | |
tree | e8e0d0c70125ab6a52bef6f2a49b40f9eacc61db /README.rst | |
parent | 37c58d04f5357140c18d7117702598039451744d (diff) | |
download | cachetools-35f85f2f78f842b15609c5973f1fdd261c0a6476.tar.gz |
Prepare v0.1.0
Diffstat (limited to 'README.rst')
-rw-r--r-- | README.rst | 49 |
1 files changed, 32 insertions, 17 deletions
@@ -3,22 +3,35 @@ cachetools This module provides various memoizing collections and function decorators, including a variant of the Python 3 Standard Library -lru_cache_ decorator. - - Important Note: This module is in early pre-alpha, and not fit for - *any* purpose (yet). +`functools.lru_cache`_ decorator. .. code-block:: pycon - >>> from cachetools import LRUCache - >>> cache = LRUCache(maxsize=16) - >>> cache['test'] = 1 - >>> cache.info() - CacheInfo(hits=0, misses=0, maxsize=16, currsize=1) - >>> cache['test'] - 1 - >>> cache.info() - CacheInfo(hits=1, misses=0, maxsize=16, currsize=1) + >>> from cachetools import LRUCache + >>> cache = LRUCache(maxsize=2) + >>> cache['first'] = 1 + >>> cache['second'] = 2 + >>> cache + LRUCache(OrderedDict([('first', 1), ('second', 2)]), maxsize=2) + >>> cache['third'] = 3 + >>> cache + LRUCache(OrderedDict([('second', 2), ('third', 3)]), maxsize=2) + >>> cache['second'] + 2 + >>> cache + LRUCache(OrderedDict([('third', 3), ('second', 2)]), maxsize=2) + >>> cache['fourth'] = 4 + >>> cache + LRUCache(OrderedDict([('second', 2), ('fourth', 4)]), maxsize=2) + +For the purpose of this module, a *cache* is a mutable mapping_ of +fixed size, defined by its ``maxsize`` attribute. When the cache is +full, i.e. ``len(cache) == cache.maxsize``, the cache must choose +which item(s) to discard based on a suitable `cache algorithm`_. + +This module provides various cache implementations based on different +cache algorithms, as well as decorators for easily memoizing function +calls. Installation @@ -49,15 +62,17 @@ Project Resources License ------------------------------------------------------------------------ -cachetools is Copyright 2014 Thomas Kemmer. +Copyright 2014 Thomas Kemmer. Licensed under the `MIT License`_. -.. _lru_cache: http://docs.python.org/3.4/library/functools.html#functools.lru_cache +.. _functools.lru_cache: http://docs.python.org/3.4/library/functools.html#functools.lru_cache +.. _mapping: http://docs.python.org/dev/glossary.html#term-mapping +.. _cache algorithm: http://en.wikipedia.org/wiki/Cache_algorithms .. _Documentation: http://pythonhosted.org/cachetools/ .. _Source Code: https://github.com/tkem/cachetools/ .. _Issue Tracker: https://github.com/tkem/cachetools/issues/ -.. _Change Log: https://raw.github.com/tkem/cachetools/master/Changes -.. _MIT License: http://opensource.org/licenses/MIT +.. _Change Log: http://raw.github.com/tkem/cachetools/master/Changes +.. _MIT License: http://raw.github.com/tkem/cachetools/master/MIT-LICENSE |