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

Download files

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

Source Distribution

lru_redis_cache-0.1.tar.gz (2.8 kB view details)

Uploaded Source

File details

Details for the file lru_redis_cache-0.1.tar.gz.

File metadata

  • Download URL: lru_redis_cache-0.1.tar.gz
  • Upload date:
  • Size: 2.8 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for lru_redis_cache-0.1.tar.gz
Algorithm Hash digest
SHA256 89242997b9a12eacdd4d97f6d33df0592c85ac7a83b23b5c287edc6e82094a27
MD5 3c035ff31ecbea2a1ba8f29abd201378
BLAKE2b-256 3c0aadca2374852012bd5b26946785f600ed0d9caf9a76d54067816d99ce12c5

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1 This release

1 file

Supported by

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