Quick Start¶
Connection¶
from redis_kit import ConnectionManager
# Connect via URL
conn = ConnectionManager(url="redis://localhost:6379/0")
# Connect via config object
from redis_kit import ConnectionConfig
conn = ConnectionManager(config=ConnectionConfig(host="localhost", port=6379, db=0))
Cache¶
from redis_kit import Cache
cache = Cache(conn.sync_client, prefix="myapp:cache")
cache.set("user:1", {"name": "Alice"}, ttl="2h30m")
user = cache.get("user:1")
# Cache-aside pattern
user = cache.remember("user:1", factory=load_from_db, ttl=3600)
Distributed Lock¶
from redis_kit import Lock
lock = Lock(conn.sync_client, prefix="myapp:lock")
with lock("resource-1", timeout=10):
do_critical_work()
Async Usage¶
Every module has a corresponding async version: