Metadata-Version: 2.4
Name: pysolcache
Version: 3.13.4
Summary: pysolcache
Home-page: https://github.com/champax/pysolcache
Author: Laurent Champagnac
Author-email: Laurent Champagnac <champagnac.laurent@gmail.com>, Laurent Labatut <laurent@labatut.net>
Maintainer-email: Laurent Champagnac <champagnac.laurent@gmail.com>, Laurent Labatut <laurent@labatut.net>
License: GPL-3.0
Project-URL: Homepage, https://github.com/champax/pysolcache
Project-URL: Repository, https://github.com/champax/pysolcache
Keywords: python,gevent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Classifier: Natural Language :: English
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: greenlet
Requires-Dist: gevent
Requires-Dist: pysolbase>=3.13.0
Requires-Dist: pysolmeters>=3.13.0
Requires-Dist: redis
Requires-Dist: ujson
Provides-Extra: test
Requires-Dist: unittest-xml-reporting; extra == "test"
Requires-Dist: pylint; extra == "test"
Requires-Dist: twine; extra == "test"
Requires-Dist: tox; extra == "test"
Requires-Dist: toml; extra == "test"
Dynamic: author
Dynamic: home-page
Dynamic: license-file

pysolcache
============

Welcome to pysol

Copyright (C) 2013/2025 Laurent Labatut / Laurent Champagnac

pysolcache is a set of python caches : in-memory and/or redis.

Usefull to handle L1 (memory) and L2 (redis) cache for python daemons.

In all cases, serialization/deserialization of stored datas have to be done at client side (ie, serialize as u wish, ujson or equivalent)

All caches are instrumented by Meters (pysolmeters).

MemoryCache:
- A pure python memory cache storing string/binary keys to string/binary values
- Max bytes capped
- Max items count capped
- Items TTLs
- LRU evictions
- Watchdog evictions

RedisCache:
- A redis backed cache, storing string/binary keys to string/binary values

HighCache:
- A high level cache, coupling MemoryCache adn RedisCache, which handle respectively L1 cache (in memory) and L2 cache (inside redis)

HighCacheEx:
- A high level cache, storing internal data as tuple (ms_added, ttl_ms, string/binary data)
- Provided same level of functionality as HighCache but is able to perform an automatic L1 put in case of L2 hit and L1 miss

It is gevent (co-routines) based.

