PostgreSQL cache storage for botasaurus.
Project description
pg-cache-storage
PostgreSQL cache storage backend for botasaurus.
Installation
pip install pg-cache-storage
Usage
With decorators like @task, @request, @browser
from pg_cache_storage import PostgresCacheStorage
from botasaurus.task import task
from datetime import timedelta
# Create storage instance
pg_storage = PostgresCacheStorage(
host="localhost",
port=5432,
username="postgres",
password="postgres",
db_name="cache"
)
@task(cache=True, expires_in=timedelta(days=1), cache_storage=pg_storage)
def my_scraper(data):
# scraping logic
return result
With @cache decorator
from pg_cache_storage import PostgresCacheStorage
from botasaurus.decorator_helpers import cache
from datetime import timedelta
# Create storage instance
pg_storage = PostgresCacheStorage(
host="localhost",
port=5432,
username="postgres",
password="postgres",
db_name="cache"
)
# Use the decorator
@cache(expires_in=timedelta(days=1), cache_storage=pg_storage)
def my_function(data):
# time-consuming operation
return result
API
PostgresCacheStorage
PostgresCacheStorage(
host: str = 'localhost',
port: int = 5432,
username: str = 'postgres',
password: str = 'postgres',
db_name: str = 'cache',
table_name: str = 'botasaurus_cache'
)
Methods
get(func_name, key_data, expires_in=None)- Get cached value. Returns{"data": value}orNoneput(func_name, key_data, data)- Store value in cachedelete(func_name, key_data)- Delete cached value
License
MIT
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
File details
Details for the file pg_cache_storage-1.0.5.tar.gz.
File metadata
- Download URL: pg_cache_storage-1.0.5.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f602be8d68f335bc02c7e4fdaa20f9d6720c60151b7d801fbc4f96d04cd6e25e
|
|
| MD5 |
7329c4fdcd6b74f900cc3b42cf0bd46b
|
|
| BLAKE2b-256 |
882b241310110c2bcaece9b2176e3dd8cc508a5e458f64f15a0d46c14c268ea6
|