Yet another in-memory caching package
Project description
yamicache
Yet another in-memory caching package
Free software: MIT license
Documentation: https://yamicache.readthedocs.io.
Features
Memoization
Selective caching based on decorators
Mutli-threaded support
Optional garbage collection thread
Optional time-based cache expiration
Quick Start
from __future__ import print_function
import time
from yamicache import Cache
c = Cache()
class MyApp(object):
@c.cached()
def long_op(self):
time.sleep(30)
return 1
app = MyApp()
t_start = time.time()
assert app.long_op() == 1 # takes 30s
assert app.long_op() == 1 # takes 0s
assert app.long_op() == 1 # takes 0s
assert 1 < (time.time() - t_start) < 31
History
0.4.0 (2017-10-09)
Added serialize() and deserialize()
0.3.0 (2017-09-05)
Added @clear_cache() decorator
Added imports to allow for from yamicache import Cache
0.2.0 (2017-09-03)
Added cache key collision checking
0.1.1 (2017-09-01)
Fix #1: Cache.cached() ignores timeout parameter
0.1.0 (2017-08-28)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
yamicache-0.4.0.tar.gz
(26.5 kB
view hashes)
Built Distribution
Close
Hashes for yamicache-0.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5ae9f7e0402955feaae5c1d77ae65565db7896068adfdfc1061fb4fd0ab163a |
|
MD5 | 5bc362c27a4bc4e45f8b39d098df32d2 |
|
BLAKE2b-256 | d77196d2e2d8b40253c208bcd4e983ed6054a8b32d1ba88ed53b7584f36cc020 |