mtik00 / yamicache

Yet another in-memory caching package

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

yamicache

Pypi Version Documentation Status Coveralls Status

Yet another in-memory caching package

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

About

Yet another in-memory caching package

License:MIT License


Languages

Language:Python 99.5%Language:Shell 0.5%