Rationale ========= Pyappcache takes a slightly different approach to other cache libraries. First class key objects ----------------------- In pyappcache, keys are first class objects - though you can use strings too if you prefer. Make keys a first class object to make it easier to centralise logic around keying and avoid typos and other common mistakes that arise when using strings as keys. Support multiple caches ----------------------- Redis and Memcache are both popular volatile caches. Pyappcache also includes an implementation using Sqlite can be useful in some scenarios. It's also easy(ish) to implement support for a new cache. Support type hints ------------------ Pyappcache has type hinting to help catch bugs - particularly the common mistake of forgetting that the cache might return nothing! Pluggable serialisation and compression --------------------------------------- The specifics of how Python objects are turned into bytestrings is explicit and pluggable - you can provide your own compression and serialisation methods. Inspectable ----------- Pyappcache generates predictable cache keys to make debugging easier - you'll be able to predict what key is generated (and if you don't know, you can ask a key object in a REPL).