No project description provided
Project description
CACHE GUIOSOFT
Caching data using files, Redis or local SQLite
[]
Local files for caching
from cache_gs import CacheGS
# Storage on local directory
file_cache = CacheGS('path://directory_for_cache_storage')
# Storage on local SQLite database
slite_cache = CacheGS('sqlite://directory_or_file_for_storage')
# Storage on Redis
redis_cache = CacheGS('redis://host:6379')
[More options for redis](#Redis options and example)
Usage
Like INI files, data is grouped in section/key names.
Installing
pip install cache-guiosoft
Writing value
cache.set_value(section, key, value, ttl: int = 0)
# ttl is the life time of value in seconds from the time is created
Reading value
value = cache.get_value(section, key, default=None)
Deleting value
cache.delete_value(section, key)
Purging expired data
- On Redis cache, this is handled by the server, automatically.
- On SQLite cache, purging is executing on every instantiation.
- On Local File cache, purging is automatically executed once a day, checked on every instantiation.
Force purging expired data
cache.purge_expired()
Redis options and example
Redis connection uses the redis-py component from Andy McCurdy. You can use the same connection strings that the Redis class uses:
-
redis://[[username]:[password]]@localhost:6379/0
-
rediss://[[username]:[password]]@localhost:6379/0
-
unix://[[username]:[password]]@/path/to/socket.sock?db=0
Three URL schemes are supported: - ```redis://`` <http://www.iana.org/assignments/uri-schemes/prov/redis>`_ creates a normal TCP socket connection - ```rediss://`` <http://www.iana.org/assignments/uri-schemes/prov/rediss>`_ creates a SSL wrapped TCP socket connection - ``unix://`` creates a Unix Domain Socket connection There are several ways to specify a database number. The parse function will return the first specified option: 1. A ``db`` querystring option, e.g. redis://localhost?db=0 2. If using the redis:// scheme, the path argument of the url, e.g. redis://localhost/0 3. The ``db`` argument to this function. If none of these options are specified, db=0 is used.
Redis on docker
docker-compose.yaml
redis:
container_name: 'redis'
image: 'redis:4-alpine'
command: redis-server --requirepass 1234
ports:
- '6379:6379'
For testing, just run:
docker-compose up
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cache-guiosoft-0.0.7.tar.gz
(14.5 kB
view details)
Built Distribution
File details
Details for the file cache-guiosoft-0.0.7.tar.gz
.
File metadata
- Download URL: cache-guiosoft-0.0.7.tar.gz
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6edda9bb75151c242992ceb07c979844d04826d7baa24d2b37791d2b3b0dce0a |
|
MD5 | 3e3a0209102b4c6f92c4b5d4ad9564d0 |
|
BLAKE2b-256 | 842aa3f64299f2d3e4838e68c3fea7c42582f7e5c8163ee690f160a3c625a069 |
File details
Details for the file cache_guiosoft-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: cache_guiosoft-0.0.7-py3-none-any.whl
- Upload date:
- Size: 22.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58fdc528bc0c8331015e10e811675f5481031d21f7d15f386cf603fda8dceb7f |
|
MD5 | ecc0d62fb926642330fb5bb1ed1de95a |
|
BLAKE2b-256 | fb7d45aee661e68b68d53deaf71fbce2f670a738365b5000adea2b6be092a4ba |