ANN: DiskCache 2.0.2 Released

Grant Jenks grant.jenks at gmail.com
Mon Sep 12 15:41:32 EDT 2016


Announcing the release of DiskCache version 2.0.2

What is DiskCache?
----

[DiskCache][1] is an Apache2 licensed disk and file backed cache library,
written in pure-Python, and compatible with Django. By leveraging a rock-solid
database library and memory-mapped files, cache performance can match and
exceed industry standard solutions.  There’s no need for a C compiler or
running another process. [Performance is a feature][2] and testing has 100%
coverage with unit tests and hours of stress in production.

  [1]: http://www.grantjenks.com/docs/diskcache/
  [2]: http://www.grantjenks.com/docs/diskcache/cache-benchmarks.html

What's new in 2.0.2?
----

* All writes now explicitly use transactions internally. Significant
  performance improvements were observed with many concurrent processes.
  http://www.grantjenks.com/docs/diskcache/djangocache-benchmarks.html
* Add atomic increment and decrement methods: incr and decr.
  http://www.grantjenks.com/docs/diskcache/api.html#diskcache.Cache.incr
* Add atomic method "add" for setting non-existant items.
  http://www.grantjenks.com/docs/diskcache/api.html#diskcache.Cache.add
* Add method "read" like "get" but returns open file handle.
  http://www.grantjenks.com/docs/diskcache/api.html#diskcache.Cache.read
* Add methods to create and drop tag index to evict items by tag.
  http://www.grantjenks.com/docs/diskcache/tutorial.html#cache
* Cache and FanoutCache now support iteration.
  http://www.grantjenks.com/docs/diskcache/api.html#diskcache.Cache.__iter__
* FanoutCache and DjangoCache methods support "retry" parameter for timeouts.
  http://www.grantjenks.com/docs/diskcache/tutorial.html#djangocache
* Use reset method to update settings rather than setting attributes.
  http://www.grantjenks.com/docs/diskcache/api.html#diskcache.Cache.reset
* BugFix: The size of small bytes objects was double-counted.
* BugFix: FanoutCache now uses "size_limit / shards" to limit shard volume.
* BugFix: Changing "cull_limit" to zero will now only disable culling.
* BugFix: Allow binding "close" and "clear" as signal handlers.
* Re-run benchmarks and update tables and graphs.
* Many documentation improvements and more examples.

Features
----

* Pure-Python
* Fully Documented
* Benchmark comparisons (alternatives, Django cache backends)
* 100% test coverage
* Days of stress testing in production
* Performance matters
* Django compatible API
* Thread-safe and process-safe
* Supports multiple eviction policies (LRU and LFU included)
* Keys support “tag” metadata and eviction
* Developed on Python 2.7
* Tested on CPython 2.7, 3.4, 3.5 and PyPy

Links
----

- Documentation: http://www.grantjenks.com/docs/diskcache/
- Download: https://pypi.python.org/pypi/diskcache
- Source: https://github.com/grantjenks/python-diskcache
- Issues: https://github.com/grantjenks/python-diskcache/issues

Please upgrade.


More information about the Python-announce-list mailing list