Skip to main content

A simple database-backed cache for storing JSON-serializable values with optional expiration.

Project description

plain.cache

A simple database-backed cache for storing JSON-serializable values with optional expiration.

The Plain Cache stores JSON-serializable values in a CachedItem model. Cached data can be set to expire after a certain amount of time.

Access to the cache is provided through the Cached class.

from plain.cache import Cached


cached = Cached("my-cache-key")

if cached.exists():
    print("Cache hit and not expired!")
    print(cached.value)
else:
    print("Cache miss!")
    cached.set("a JSON-serializable value", expiration=60)

# Delete the item if you need to
cached.delete()

Expired cache items can be cleared by running chores.

CLI

  • plain cache clear-expired - Clear all expired cache items
  • plain cache clear-all - Clear all cache items
  • plain cache stats - Show cache statistics

Installation

Install the plain.cache package from PyPI:

uv add plain.cache

Add plain.cache to your INSTALLED_PACKAGES:

# app/settings.py
INSTALLED_PACKAGES = [
    # ...
    "plain.cache",
]

Run migrations to create the cache tables:

plain migrate

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

plain_cache-0.20.2.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

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

plain_cache-0.20.2-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file plain_cache-0.20.2.tar.gz.

File metadata

  • Download URL: plain_cache-0.20.2.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.7

File hashes

Hashes for plain_cache-0.20.2.tar.gz
Algorithm Hash digest
SHA256 cac85ea9db04b824c73edc64abdfc63a772219f076127cd53ed3e04ee6d01624
MD5 6b6be8a41dd458ba2c177c2e2186db45
BLAKE2b-256 bc88295dd4156aabddd42eabb03a51483abfc0ef7f7d21fffa66175fa4ce8867

See more details on using hashes here.

File details

Details for the file plain_cache-0.20.2-py3-none-any.whl.

File metadata

File hashes

Hashes for plain_cache-0.20.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ee3d60d80f4b8ef840fbd2c33461adc61c462e64207b63128d78ccbda4456a89
MD5 57d3ea1b362f167166cd7923e358bea0
BLAKE2b-256 a9cb1fecd43be6b5242991c9ad962f4b820bb8e32135496388536fe167a17fa7

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