Skip to main content

LRU Cache for Python using Redis

Project description

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

Project details


Release history Release notifications | RSS feed

This version

0.1

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.

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