Cachetools Utilities
Project description
cachetools-utils
Classes to add key prefix and stats to cachetools classes and use redis and memcached as storage backends.
Usage
See below.
Documentation
This module provide the following cache wrappers suitable to use
with cachetools
:
PrefixedCache
Add a key prefix.
import CacheToolsUtils as ctu
base = cachetools.TTLCache(ttl=600)
foo_cache = ctu.PrefixedCache(base, "foo.")
bla_cache = ctu.PrefixedCache(base, "bla.")
@cachetools.cached(cache=foo_cache)
def foo(…):
return …
@cachetools.cached(cache=bla_cache)
def bla(…):
return …
StatsCache
Keep stats, cache hit rate shown with hits()
.
MemCached
Basic wrapper with JSON key encoding.
import pymemcache as pmc
mcbase = pmc.Client(server="localhost", serde=ctu.JsonSerde())
cache = ctu.MemCached(mcbase)
@cachetools.cached(cache=cache)
def poc(…):
PrefixedMemCached
Wrapper with a prefix.
pcache = ctu.PrefixedMemCached(mcbase, prefix="pic.")
StatsMemCached
Wrapper with stats actually taken from the MemCached server.
RedisCache
TTL'ed Redis wrapper, default ttl is 10 minutes.
import redis
rd_base = redis.Redis(…, ttl=60)
cache = ctu.RedisCache(rd_base)
PrefixedRedisCache
Wrapper with a prefix and a ttl.
StatsRedisCache
Wrapper with stats (call hits()
) and a ttl.
License
This code is public domain.
Versions
0.9.0
Initial version extracted from another project.
TODO
- improve documentation
- add
__version__
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
CacheToolsUtils-0.9.0.tar.gz
(4.2 kB
view hashes)
Built Distribution
Close
Hashes for CacheToolsUtils-0.9.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d31656ec940db624a557e02b9cbf8dcc49d19a192d95b755bbb631ed5470df57 |
|
MD5 | 5efdadd5d1e739dca0fadb318850c582 |
|
BLAKE2b-256 | 061256e13fd9881f973c3394a237d3a551f8a1ea978661314b33f9c39fc4e25c |