Skip to content

Releases: festinuz/gecaso

Implementation of key hashing

24 Jul 15:58
Compare
Choose a tag to compare

This release addresses the issue of arbitrary big key lengths. From this point forward, keys will be hashed by default in the form described at the end of changelog.

Changelog:

  • Create utils.hash_key function.
  • Add _hash_key keyword argument to cached function. (resolves #7)
    • _hash_key defaults to True.
    • If _hash_key is set to True, keys generated from function calls are hashed and returned with fixed size of 65: first 32 symbols are md5 cache of function qualified name, symbol 33 is '_', and last 32 symbols are md5 cache of function arguments.

Fix of the "dog-pile" effect

23 Jul 17:16
Compare
Choose a tag to compare

Dog-pille effect:

What occurs when a cached object expires, and multiple requests to fetch it are made at the same time. In systems that don’t lock or use a scheme to prevent multiple instances from simultaneously creating the same thing, every request will cause the system to create a new value to be cached.

BaseStorage update

22 Jul 13:03
Compare
Choose a tag to compare
  • Update BaseStorage
    • make get, set and remove methods async (resolves #6)
    • remove verified_get;
    • move pack and unpack to utils. (resolves #8)
  • Rename LocalMemoryStorage to MemoryStorage;
  • Add pypi version badge to README.

LRUStorace minor fix

19 Jul 14:29
Compare
Choose a tag to compare
  • Update 'remove' method of LRUStorage to match BaseStorage

LRUStorage is here!

19 Jul 14:01
Compare
Choose a tag to compare
  • New storage "LRUStorage" add simple lru mechanic to any storage provided
  • BaseStorage class is updated and now also has "remove" abstractmethod
  • "asyncify" function is now public

Travis CI pypi integration

18 Jul 16:39
Compare
Choose a tag to compare
0.1.2

Add requirements.txt

Initial release of gecaso

17 Jul 16:27
Compare
Choose a tag to compare
0.1.1

Add setup.py and setup.cfg