Metadata-Version: 2.1
Name: redis-client
Version: 1.0.1
Summary: A simple client for Redis
Home-page: https://github.com/GraphtyLove/redis_client_python
License: MIT
Author: GraphtyLove
Author-email: maxim.berge@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Typing :: Typed
Requires-Dist: redis (==4.3.4)
Project-URL: Repository, https://github.com/GraphtyLove/redis_client_python
Description-Content-Type: text/markdown

# Redis client

Simple Redis client for python.

It has been made to simplify working with Redis in python.

## Usage
Instantiate `Cache()`, give the Redis `host`, `port` and `db`.

Then you can get a cached entry with `Cache.get_data_from_cache()` and add an entry to Redis with `Cache.save_data_to_cache()`

**⚠️The data send to cache NEEDS TO BE A DICTIONARY! ⚠️**

### Code example

```python
from redis_client.client import Cache
from time import sleep
from tpying import Dict

# Redis Configuration
cache = Cache(redis_host="localhost", redis_port=6379, redis_db=0, log_level="INFO")

def username_expander(username: str) -> Dict[str, str]:
    """Example of a function that require caching."""
    
    # Key that will be use to retrieve cached data
    # Note that I include the parameter 'username' in the key to make sure we only cache unique value.
    key = f"username_expander:{username}"
    
    # Check if the data is already caches
    cached_data = cache.get_data_from_cache(key)
    
    # Return it if yes
    if cached_data:
        return cached_data
    
    data = {"expanded_username": f"{username}_123"}
    
    # Save data to cache with an expiration time of 12 hours
    cache.save_data_to_cache(key, data, expiration_in_hours=12)
    
    return data
```
