Skip to main content

LRU Cache

This is a simple Least Recently Used (LRU) Cache with expiration time that use redis to store the data.

Installation

Usage

Import LRUCache from the lru_redis_cache module, when creating an instance of this class you could pass:

  • cache_size: Max size of the cache, the default value is 10
  • ttl: Max time to expire the cache, the default value is 60 seconds
  • redis_host: Host where the redis instance is allocated, default is localhost
  • redis_port: Redis port, default is 6379

This class has three public methods to manage the cache:

  • set(name, value) this function set a new cache value or replace the previous.

  • get(name) this function return the cache element if it is stores, otherwise it will return a None value.

  • set_connection(RedisConnection) this function allows you to set the redis instance to be used.

from lru_redis_cache import LRUCache

cache = LRUCache(cache_size=5, ttl=60)

cache.set("my_key", "my_value")
cache.get("my_key")

# Output
"my_value"

Tests

In order to run the test cases you need to install the basic requirements from requirements.txt by running the following command.

pip install -r requirements.txt

Then, you need to run

python -m pytest

Information

LRU Cache Implementation

Metadata

Release files for lru-redis-cache 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lru-redis-cache 0.1
File Size Uploaded
lru_redis_cache-0.1.tar.gz 2.8 kB Details

Release files / lru_redis_cache-0.1.tar.gz

Download URL lru_redis_cache-0.1.tar.gz
Size 2.8 kB
Tags Source
SHA-256 checksum
How to use checksums
89242997b9a12eacdd4d97f6d33df0592c85ac7a83b23b5c287edc6e82094a27
BLAKE2b-256 checksum
How to use checksums
3c0aadca2374852012bd5b26946785f600ed0d9caf9a76d54067816d99ce12c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.5

Release history Release notifications | RSS feed

This release

0.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page