Skip to main content
PyCon US is happening May 14th-22nd in Pittsburgh, PA USA.  Learn more

Two Level Local Cache

Project description

https://img.shields.io/travis/youngking/tlcache.svg https://img.shields.io/pypi/v/tlcache.svg

Two Level Local Cache

Usage

  • simple use

>>> from tlcache import TLCache
>>> cache = TLCache(cache_dir="/tmp/xxxxdir")
>>> lst = []
>>> @cache.cache()
... def apppend():
...     lst.append(1)
...     return lst
>>> append() == [1]
>>> append() == [1]
  • cache refresh

>>> with cache.with_refresh():
...     append() == [1, 1]
...     append() == [1, 1, 1]
>>> append() == [1, 1, 1]

Features

  • Two level cache, first level is memory, and second level is the filesystem

History

0.2.1 (2017-06-21)

  • Fix missing exception stack

0.2.0 (2016-08-07)

  • Even cache when got empty results

  • When exception, use old data to cache degraded

0.1.7 (2016-4-14)

  • cache refresh manager, should be used with lock

0.1.6 (2016-4-14)

  • add cache refresh context manager

0.1.5 (2016-4-14)

  • decrese logging warnings

0.1.4 (2016-3-16)

  • make sure fd is closed when fdopen occus exception

  • set memory before file

0.1.3 (2015-11-24)

  • Don’t cache when results is empty

0.1.2 (2015-11-13)

  • Fix a bug that which causes when cache invalidate wil not cached again.

0.1.1 (2015-11-10)

  • Inside the tlcache’s add method, use the filecache’s set method internally.

0.1.0 (2015-11-10)

  • First release on PyPI.

Supported by

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