Skip to main content

Cachetools Utilities

Project description

CacheToolsUtils

Classes to add key prefix and stats to cachetools classes and use redis and memcached as storage backends, and other cache-related utils.

Status Tests Coverage Issues Python Version Badges License

Module Contents

For our purpose, a cache is a key-value store, aka a dictionary, possibly with some constraints on keys (type, size) and values (size, serialization). This module provides new caches, wrappers and other utilities suitable to use with cachetools.

Cache classes

  • RedisCache allows to see a Redis server as a python cache by wrapping a redis.Redis instance.
  • MemCached does the same for a Memcached server. The utility class JsonSerde is a convenient JSON serializer-deserializer class for Memcached.
  • DictCache a very simple dict cache.

Wrappers to extend cache capabilities

  • PrefixedCache, PrefixedMemCached and PrefixedRedisCache add a prefix to distinguish sources on a shared cache.
  • StatsCache, MemCached and RedisCache add a hits method to report the cache hit rate, stats to report statistics and reset to reset statistics.
  • LockedCache use a (thread) lock to control cache accesses.
  • TwoLevelCache allows to combine two caches.
  • DebugCache to trace cache calls using logging.
  • EncryptedCache a cache with key hashing and value encryption.
  • ToBytesCache map keys and values to bytes.
  • BytesCache map bytes keys and values to strings.

Cache utilities

  • cached decorator: a cachetools replacement which allows to test if a function result is in cache, and to delete such an entry.
  • cacheFunctions and cacheMethods: add caching to functions or methods.
  • json_key, hash_json_key, full_hash_key: convenient JSON-based cache key serialization functions for cached.

License

This code is Public Domain.

All software has bug, this is software, hence… Beware that you may lose your hairs or your friends because of it. If you like it, feel free to send a postcard to the author.

More

See the documentation, sources and issues on GitHub.

See packages on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cachetoolsutils-10.1.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

CacheToolsUtils-10.1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file cachetoolsutils-10.1.tar.gz.

File metadata

  • Download URL: cachetoolsutils-10.1.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for cachetoolsutils-10.1.tar.gz
Algorithm Hash digest
SHA256 920aca3ab696c89052618cd9f2db5b28788d9f07d5ed525846986540ff75bda4
MD5 b831a336339862c96466908f4dd48193
BLAKE2b-256 f30aa6b8f47c1bd963dacda607e14a7dc3ec7b8c93b8e7f755dba91eb7a6f8a2

See more details on using hashes here.

File details

Details for the file CacheToolsUtils-10.1-py3-none-any.whl.

File metadata

  • Download URL: CacheToolsUtils-10.1-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for CacheToolsUtils-10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7ad21f654999add243b26db1ebcadda3d6c25bd75a0e714c6c11dcc898744b20
MD5 a477f6c48bbda51bcb5a7b5610005d20
BLAKE2b-256 db5145d4ad723cf542f925dbb156f4233f39f4b64d51e7465a882f98eb7f3ad4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page