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.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
File details
Details for the file guillotina_rediscache-1.1.2.tar.gz
.
File metadata
- Download URL: guillotina_rediscache-1.1.2.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ce3456499d2169518bdc6ebbf4618d367b8a9681c3cf27fd644f4e33adb7c26 |
|
MD5 | d9169af7ecf67791d4ae39e7a53dc603 |
|
BLAKE2b-256 | 309f478c5521ac524ce4f9cd5cc1323d3ee8bd9dbfda54df1e7f8e31c1fec959 |
File details
Details for the file guillotina_rediscache-1.1.2-py3-none-any.whl
.
File metadata
- Download URL: guillotina_rediscache-1.1.2-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae28db765acd2bd3d462a2809b703d536519261b529d49de841276c306debf12 |
|
MD5 | c54abcb419e0b00ba2b188c2c6d42b33 |
|
BLAKE2b-256 | 6b09d2128e71c48f434b519b2e5949012a1bf91803cbac2b04bd3612495de0c7 |