File size: 973 Bytes
73f9fb2
b441c83
ab6d29f
4a45067
ab6d29f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2a12b48
ab6d29f
 
 
 
 
 
 
 
 
 
2a12b48
ab6d29f
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import redis
import os
import json

try:
    redis_client = redis.Redis(
        host=os.getenv("REDIS_HOST", "localhost"),
        port=int(os.getenv("REDIS_PORT", 6379)),
        username=os.getenv("REDIS_USERNAME"),
        password=os.getenv("REDIS_PASSWORD"),
        decode_responses=True
    )
    # Test connection
    redis_client.ping()
except Exception as e:
    redis_client = None
    print(f"Redis connection failed: {e}")

def get_cached_result(query):
    """Retrieve cached result for a query"""
    if not redis_client:
        return None
    
    try:
        cached = redis_client.get(f"query:{query}")
        return cached if cached else None
    except Exception:
        return None

def cache_result(query, result):
    """Cache result for a query for 24 hours"""
    if not redis_client:
        return False
    
    try:
        redis_client.setex(f"query:{query}", 86400, result)
        return True
    except Exception:
        return False