NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1487 most downloaded on PyPI
multi backend asyncio cache
Last release 2 years ago
no release in 18 months
Ships unpredictably
gaps range from 9 days to 3.5 years
Some releases are documented
notes for 22 of 45 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
45 releases · first in 2016
Added SSL support for Redis backend.
SimpleMemoryBackend._redlock_release().None.Fixed an error when the pairs argument to .multi_set() doesn't support len() .
pairs argument to .multi_set() doesn't support len().Added skip_cache_func to dynamically skip caching certain results.
One column per quarter.
skip_cache_func to dynamically skip caching certain results.tests as part of the package.Removed deprecated loop parameters.
async with support to BaseCache.redis library (aioredis is no longer supported).SimpleMemoryBackend now has a cache per instance, rather than a global cache.build_key(key, namespace) #569 -- Padraic Shaferloop parameters.cache parameter from create().TimingPlugin methods..clear() breaking when no keys are present.from aiocache import *..delete() when values are falsy.Don't hardcode import redis and memcached in factory #461 - Manuel Miranda
Support str for timeout and ttl #454 - Manuel Miranda
Cancel the previous ttl timer if exists when setting a new value in the in-memory cache #424 - Minh Tu Le
Cancel the previous ttl timer if exists when setting a new value in the in-memory cache #424 - Minh Tu Le
Add python 3.7 to CI, now its supported! #420 - Manuel Miranda
Add function as parameter for key_builder #417 - Manuel Miranda
Always use name when getting logger #412 - Mansur Mamkin
Format code with black #410 - Manuel Miranda
Cache can be disabled in decorated functions using cache_read and cache_write #404 - Josep Cugat
Single deploy step #395 - Manuel Miranda
Bug #389 /propagate redlock exceptions #394 - Manuel Miranda aexit was returning whether asyncio Event was removed or not. In some cases this was avoi
Bug #389/propagate redlock exceptions #394 - Manuel Miranda
aexit was returning whether asyncio Event was removed or not. In
some cases this was avoiding the context manager to propagate
exceptions happening inside. Now its not returning anything and will
raise always any exception raised from inside
Fix sphinx build #392 - Manuel Miranda
Also add extra step in build pipeline to avoid future errors.
Update alias config when config already exists #383 - Josep Cugat
Ensure serializers are instances #379 - Manuel Miranda
Add MsgPackSerializer #370 - Adam Hopkins
Add create_connection_timeout for redis>=1.0.0 when creating connections #368 - tmarques82
Fixed spelling error in serializers.py #371 - Jared Shields
Add pypy support in build pipeline #359 - Manuel Miranda
Add pypy support in build pipeline #359 - Manuel Miranda
Fix multicached bug when using keys as an arg rather than kwarg #356 - Manuel Miranda
Reuse cache when using decorators with alias #355 - Manuel Miranda
Cache available from function.cache object for decorated functions #354 - Manuel Miranda
aioredis and aiomcache are now optional dependencies #337 - Jair Henrique
Generate wheel package on release #338 - Jair Henrique
Add key_builder param to caches to customize keys #315 - Manuel Miranda
Add key_builder param to caches to customize keys #310 - Manuel Miranda
Remove explicit loop usages #305 - Manuel Miranda
Upgrade to aioredis 0.3.3. - Manuel Miranda
Upgrade to aioredis 0.3.3. - Manuel Miranda
Get CMD now returns values that evaluate to False correctly #282 - Manuel Miranda
New locks public API exposed #279 - Manuel Miranda Users can now use aiocache.lock.RedLock and aiocache.lock.OptimisticLock
Memory now uses new NullSerializer #273 - Manuel Miranda Memory is a special case and doesn't need a serializer because anything can be stored in memory. Created a new NullSerializer that does nothing which is the default that SimpleMemoryCache will use now.
Multi_cached can use args for key_from_attr #271 - Manuel Miranda _before only params defined in kwargs where working due to the behavior defined in get_args_dict function. This has now been fixed and it behaves as expected.
Removed cached key_from_attr #274 - Manuel Miranda
To reproduce the same behavior, use the new key_builder attr
Removed settings module. - Manuel Miranda
Removed connection reusage for decorators #267- Manuel Miranda (thanks @dmzkrsk) _when decorated function is costly connections where being kept while
Removed connection reusage for decorators [#267](https://github.com/argaen/aiocache/issues/267)- Manuel Miranda (thanks @dmzkrsk) _when decorated function is costly connections where being kept while
being iddle. This is a bad scenario and this reverts back to using a connection from the cache pool for every cache operation_
Key_builder for cached [#265](https://github.com/argaen/aiocache/issues/265) - Manuel Miranda _Also fixed a bug with multi_cached where key_builder wasn't applied
when saving the keys_
Updated aioredis (0.3.1) and aiomcache (0.5.2) versions - Manuel Miranda
Cached supports stampede locking #249 - Manuel Miranda
Cached supports stampede locking #249 - Manuel Miranda
Memory redlock implementation #241 - Manuel Miranda
Memcached redlock implementation #240 - Manuel Miranda
Redis redlock implementation #235 - Manuel Miranda
Add close function to clean up resources #236 - Quinn Perfetto
Call await cache.close() to close a pool and its connections
caches.create works without alias #253 - Manuel Miranda
Decorators use JsonSerializer by default now #258 - Manuel Miranda
Also renamed DefaultSerializer to StringSerializer
Decorators use single connection #257 - Manuel Miranda
Decorators (except cached_stampede) now use a single connection for each function call. This means connection doesn't go back to the pool after each cache call. Since the cache instance is the same for a decorated function, this means that the pool size must be high if there is big expected concurrency for that given function
Change close to clear for redis #239 - Manuel Miranda
clear will free connections but will allow the user to still use the cache if needed (same behavior for aiomcache and ofc memory)
Reuse connection context manager #225 [argaen]
Reuse connection context manager [#225](https://github.com/argaen/aiocache/issues/225) [argaen]
Add performance footprint tests [#228](https://github.com/argaen/aiocache/issues/228) [argaen]
Timeout=0 takes precedence over self.timeout [#227](https://github.com/argaen/aiocache/issues/227) [argaen]
Lock when acquiring redis connection [#224](https://github.com/argaen/aiocache/issues/224) [argaen]
Added performance concurrency tests [#216](https://github.com/argaen/aiocache/issues/216) [argaen]
Deprecate settings module #215 [argaen]
Deprecate settings module [#215](https://github.com/argaen/aiocache/issues/215) [argaen]
Decorators support introspection [#213](https://github.com/argaen/aiocache/issues/213) [argaen]
Removed pool reusage for redis. A new one is created for each instance [argaen]
Removed pool reusage for redis. A new one is created for each instance [argaen]
Soft dependencies for redis and memcached [#197](https://github.com/argaen/aiocache/issues/197) [argaen]
Added incr CMD [#188](https://github.com/argaen/aiocache/issues/188>) [Manuel Miranda]
Create factory accepts cache args [#209](https://github.com/argaen/aiocache/issues/209) [argaen]
Cached and multi_cached can use alias caches (creates new instance per call) [#205](https://github.com/argaen/aiocache/issues/205) [argaen]
Method create to create new instances from alias [#204](https://github.com/argaen/aiocache/issues/204) [argaen]
Remove unnecessary warning [#200](https://github.com/argaen/aiocache/issues/200) [Petr Timofeev]
Add asyncio trove classifier [#199](https://github.com/argaen/aiocache/issues/199) [Thanos Lefteris]
Pass pool_size to the underlayed aiomcache [#189](https://github.com/argaen/aiocache/issues/189) [Aurélien Busi]
Added marshmallow example [#181](https://github.com/argaen/aiocache/issues/181) [argaen]
Added example for compression serializer [#179](https://github.com/argaen/aiocache/issues/179) [argaen]
Added BasePlugin.add_hook helper [#173](https://github.com/argaen/aiocache/issues/173) [argaen]
Refactored how settings and defaults work. Now aliases are the only way. [#193](https://github.com/argaen/aiocache/issues/193) [argaen]
Consistency between backends and serializers. With SimpleMemoryCache, some data will change on how its stored when using DefaultSerializer [#191](https://github.com/argaen/aiocache/issues/191) [argaen]
Nothing published for this version
Added CHANGELOG and release process #172 [argaen]
Added CHANGELOG and release process [#172](https://github.com/argaen/aiocache/issues/172) [argaen]
Added pool_min_size pool_max_size to redisbackend [#167](https://github.com/argaen/aiocache/issues/167) [argaen]
Timeout per function. Propagate it correctly with defaults. [#166](https://github.com/argaen/aiocache/issues/166) [argaen]
Added noself arg to cached decorator [#137](https://github.com/argaen/aiocache/issues/137) [argaen]
Cache instance in decorators is built in every call [#135](https://github.com/argaen/aiocache/issues/135) [argaen]
Nothing published for this version
Changed add redis to use set with not existing flag #119 [argaen]
Changed add redis to use set with not existing flag [#119](https://github.com/argaen/aiocache/issues/119) [argaen]
Memcached multi_set with ensure_future [#114](https://github.com/argaen/aiocache/issues/114) [argaen]
Fixed asynctest issues for timeout tests #109 [argaen]
Fixed asynctest issues for timeout tests [#109](https://github.com/argaen/aiocache/issues/109) [argaen]
Created new API class [#108](https://github.com/argaen/aiocache/issues/108) [argaen]
Set multicached keys only when non existing [#98](https://github.com/argaen/aiocache/issues/98) [argaen]
Added expire command [#97](https://github.com/argaen/aiocache/issues/97) [argaen]
Ttl tasks are cancelled for memory backend if key is deleted [#92](https://github.com/argaen/aiocache/issues/92) [argaen]
Ignore caching if AIOCACHE_DISABLED is set to 1 [#90](https://github.com/argaen/aiocache/issues/90) [argaen]
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →