Nameko Cache Tools
=============================
.. image:: https://badge.fury.io/py/nameko-cachetools.png
:target: http://badge.fury.io/py/nameko-cachetools
.. image:: https://travis-ci.org/santiycr/nameko-cachetools.png?branch=master
:target: https://travis-ci.org/santiycr/nameko-cachetools
A few tools to cache interactions between your nameko services, increasing
resiliency and performance at the expense of consistency, when it makes sense.
To use Nameko Cache Tools in a project::
from nameko.rpc import rpc
from nameko_cachetools import CachedRpcProxy
class Service(object):
name = "demo"
other_service = CachedRpcProxy('other_service')
@rpc
def do_something(self, request):
# this rpc response will be cached first, then use the different
# cache strategies available in CachedRpcProxy or
# CacheFirstRpcProxy
other_service.do_something('hi')
Caching strategies:
-------------------
CachedRpcProxy
^^^^^^^^^^^^^^
If a cached version of this request exists, a response from the cache is
sent instead of hangling forever or raising an exception.
If a cached version doesn't exist, it will behave like a normal rpc,
and wait indefinitey for a reply. All successful replies are cached.
**WARNING**: Do NOT use this for setters, rpcs meant to modify state in the
target service
Arguments:
cache
the cache to use. This should resemble a dict but can be more
sophisticated, like the caches provided by the cachetools package.
failover_timeout
if a cached version of this query exists, how long
in seconds should your original request wait until it deems the target
service as unresponsive and moves on to use a cached response
CacheFirstRpcProxy
^^^^^^^^^^^^^^^^^^
Stores responses from the original services and keeps them cached.
If further requests come in with the same arguments and found in the cache,
a response from the cache is sent instead of hitting the destination service.
**WARNING**: Do NOT use this for setters, rpcs meant to modify state in the
target service
Arguments:
cache
the cache to use. This should resemble a dict but can be more
sophisticated, like the caches provided by the cachetools package.
Documentation
-------------
The full documentation is at http://nameko-cachetools.rtfd.org.
History
-------
0.1.0 (2018-06-10)
++++++++++++++++++
* First release on PyPI.
Metadata
Release files for nameko-cachetools 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| nameko-cachetools-1.0.0.tar.gz | 6.7 kB | Without provenance | Details for nameko-cachetools-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nameko_cachetools-1.0.0-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details for nameko_cachetools-1.0.0-py2.py3-none-any.whl |
Total release size: 10.9 kB
Release files / nameko-cachetools-1.0.0.tar.gz
| Download URL | nameko-cachetools-1.0.0.tar.gz |
|---|---|
| Size | 6.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6d1b5b03f78cf081862382f779086c9d0a4d4adaca2ba381ae9096ed7c0908c2
|
|
BLAKE2b-256 checksum How to use checksums |
4b8ce5a9ad2f475041ecc7e6be75dbd0e19e18ee113f218496e85b9b92306f24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / nameko_cachetools-1.0.0-py2.py3-none-any.whl
| Download URL | nameko_cachetools-1.0.0-py2.py3-none-any.whl |
|---|---|
| Size | 4.2 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
4a94dcc3870837539f45addf152fa216ddeb249d79e1d37f73c14e50e2997cde
|
|
BLAKE2b-256 checksum How to use checksums |
da92c283c7cca334e396c6af8850163bca2eabfecc0f43982d7f441eda1a3cd8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for nameko-cachetools 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.