guillotina cache implementation using redis + lru in-memory cache
Project description
guillotina_rediscache implements redis into guillotina with an additional in-memory layer cache.
In order to coordinate invalidating the in-memory cache, guillotina_rediscache utilizes the pub/sub feature redis provides.
Configuration
app_settings for this:
{ "databases": { "db": { ... "cache_strategy": "redis" ... } }, "redis": { 'host': 'localhost', 'port': 6379, 'ttl': 3600, 'memory_cache_size': 1000, 'pool': { 'minsize': 5, 'maxsize': 100 } } }
Run measures
Using guillotina run command:
./bin/g run --script=measures/serialize.py -c measures/config.yaml
With profiling:
./bin/g run --script=measures/serialize.py -c measures/config.yaml --line-profiler --line-profiler-matcher="*serialize*"
1.1.5 (2018-03-01)
Handle errors while cancelling task [vangheem]
1.1.4 (2018-02-15)
Fix cache stats endpoint [vangheem]
1.1.3 (2018-01-22)
Be able to disable deleting group of cache keys together with cluster_mode option. [vangheem]
1.1.2 (2018-01-17)
Fix using redis.delete when keys are of length 0 [vangheem]
1.1.1 (2018-01-17)
batch all cache deletes into one request [vangheem]
1.1.0 (2018-01-12)
Push cache updates to redis subscriber. This should improve cache hits dramatically [vangheem]
1.0.14 (2018-01-10)
Only run invalidation task if we have keys to invalidate [vangheem]
1.0.13 (2017-12-15)
Improve request performance [vangheem]
Change the way we’re using the redis pool so it reuses connections [vangheem]
1.0.12 (2017-11-30)
Missing await statement for self.get_redis() [vangheem]
1.0.11 (2017-11-08)
Handle CancelledError [vangheem]
1.0.10 (2017-11-06)
upgrade for guillotina 2.0.0 [vangheem]
1.0.9 (2017-10-23)
Fix handling connection objects and releasing back to pool [vangheem]
1.0.8 (2017-10-23)
Fix use of pool [vangheem]
1.0.7 (2017-10-23)
Use pickle instead of json from load/dumps because it is much faster [vangheem]
1.0.6 (2017-10-19)
Use ujson [vangheem]
1.0.5 (2017-10-02)
Track all keys needing invalidation and do invalidation in an async task so the request can finish faster. [vangheem]
1.0.4 (2017-05-29)
Test fixes [vangheem]
1.0.3 (2017-05-26)
Fix delete not properly invalidating cache [vangheem]
1.0.2 (2017-05-15)
Fix channel publishing invalidations [vangheem]
1.0.1 (2017-05-15)
Fix release
1.0.0 (2017-05-15)
initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for guillotina_rediscache-1.1.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1cff9e340b03d6c647f8003422b7852e02be27df60d59f1e50de079f65a494c |
|
MD5 | 028f88094d70c558a26e15ba09be043a |
|
BLAKE2b-256 | 142fc6c411afed77762c9d0610092b9c743eac7f6a6c1bf9fb7c202ff0946914 |
Hashes for guillotina_rediscache-1.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a2530033d54b64218bb8b3a27bcfeaa234baa806af2b7d567c4b1dfc9fe048e |
|
MD5 | 3bc73ae3e5144bab4814bdc6892de7c7 |
|
BLAKE2b-256 | 9ffc7db8c3d4003e3e07dae7287519daa30a957ee7a0107efb6943f4157fb391 |