Skip to main content

Fast Caching Library For Python/asyncio

Project description

psqache

A blazing-fast Cache Client Library for Python/asyncio powered by PostgreSQL

PyPI Python License

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:

  • Redis to cache the stuff we hit over and over
  • RabbitMQ or Kafka for message queues to handle background tasks
  • PostgreSQL for 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

psqache-0.3.0.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

psqache-0.3.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

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

Hashes for psqache-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f1d160911b8ef55838afb80b2ceb795054d032d4d7e653770e58ddb2c8306332
MD5 e0f129016604d6acc68be93bbe31ecc3
BLAKE2b-256 1e5c3ae966bdb038beed180cb576008e39c36db755a46c7cf1cdd5e2368ba1ac

See more details on using hashes here.

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

Hashes for psqache-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 98af0a7a389bc1a4905bf2da7427641b226fe092aa16edf501ca17a956a99634
MD5 1c0f7ead739b1d3853eced507040f090
BLAKE2b-256 70db72f1a6d85edcb3d953aae83874c651b79f4609fb4d3f904c2918dfe8c9a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page