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.6.0 (2020-11-22)
Remove support for Python 2.
0.5.1 (2018-04-10)
Fix #8: Function default arguments were not handled. There was also a potential cache miss if Python changed the order of dict keys.
0.5.0 (2018-03-23)
Fix #7: Timed-out values are not returned when refreshed
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
Built Distribution
Hashes for yamicache-0.6.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c98b553bc1c88a6581c62619a03fbe2c7f41bf10fccb372590939c51ee546cd |
|
MD5 | 296f53fcec3751521fb51de0e3770ee4 |
|
BLAKE2b-256 | bd0406126bc1c1ade5f36a35b0ee7e3cd3e5ac792db855a7209aa5e5127c8d60 |