Fast Caching Library For Python/asyncio
Project description
psqache
A blazing-fast Cache Client Library for Python/asyncio powered by PostgreSQL
The Problem
It's the year 2099, and yes, we're still building high-performance backends. You'd think by now we'd have some universal, one-size-fits-all infrastructure solution, but no.
Instead, we're juggling multiple services: caches, message queues, databases — all to keep our apps blazing fast and reliable.
The typical backend stack looks something like this:
Redisto cache the stuff we hit over and overRabbitMQor Kafka for message queues to handle background tasksPostgreSQLfor the real, persistent data
This multi-tool setup works, but it brings baggage:
- Multiple services to set up and maintain
- Complex monitoring and security configurations
- More potential points of failure
- Higher infrastructure costs
- Increased operational complexity
Enter psqache: The Simplicity Play
What if your friendly, reliable PostgreSQL could handle both persistence AND caching? That's where psqache comes in.
psqache lets you:
- Use PostgreSQL as a high-performance cache
- Eliminate the need for separate caching services
- Reduce infrastructure complexity and costs
- Maintain high performance at scale
- Keep your stack simple and reliable
Features
- 🚀 Blazing Fast: Optimized for high-throughput caching operations
- 🔄 Async First: Built for Python/asyncio with concurrency in mind
- 🛠 Simple API: Familiar cache interface (
get,set,delete) - ⏰ TTL Support: Automatic key expiration
- 🔍 JSONB Storage: Native support for complex data structures
- 🎯 Type Safe: Full typing support for modern Python
- 📊 Monitoring: Built-in metrics for cache operations
Quick Start
TODO
Why PostgreSQL?
PostgreSQL is the perfect foundation for a caching layer because:
- Reliability: Built-in durability and consistency guarantees
- Performance: Optimized for high-concurrency workloads
- Flexibility: Native JSONB support for complex data structures
- Familiarity: Uses technology you already know and trust
- Simplicity: One less service to maintain and monitor
Under the hood, psqache uses:
- Unlogged tables for maximum performance
- Computed expiration fields for automatic cleanup
- Optimized indexes for fast lookups
- Connection pooling for concurrent access
Performance
TODO
Configuration
TODO
Contributing
TODO
Roadmap
TODO
Built with ❤️ by [Midnight Train]
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file psqache-0.3.0.tar.gz.
File metadata
- Download URL: psqache-0.3.0.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1d160911b8ef55838afb80b2ceb795054d032d4d7e653770e58ddb2c8306332
|
|
| MD5 |
e0f129016604d6acc68be93bbe31ecc3
|
|
| BLAKE2b-256 |
1e5c3ae966bdb038beed180cb576008e39c36db755a46c7cf1cdd5e2368ba1ac
|
File details
Details for the file psqache-0.3.0-py3-none-any.whl.
File metadata
- Download URL: psqache-0.3.0-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98af0a7a389bc1a4905bf2da7427641b226fe092aa16edf501ca17a956a99634
|
|
| MD5 |
1c0f7ead739b1d3853eced507040f090
|
|
| BLAKE2b-256 |
70db72f1a6d85edcb3d953aae83874c651b79f4609fb4d3f904c2918dfe8c9a3
|