| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import redis
- import json
- from base import Config, logger
- class RedisClient:
- def __init__(self):
- self.logger = logger
- try:
- self.client = redis.StrictRedis(
- host=Config().REDIS_HOST,
- port=Config().REDIS_PORT,
- password=Config().REDIS_PASSWORD,
- db=Config().REDIS_DB,
- decode_responses=True
- )
- self.logger.info("Redis 连接成功")
- except redis.RedisError as e:
- self.logger.error(f"Redis 连接失败: {e}")
- raise
- def set_data(self, key, value):
- try:
- self.client.set(key, json.dumps(value))
- self.logger.info(f"存储数据到 Redis: {key}")
- except redis.RedisError as e:
- self.logger.error(f"Redis 存储失败: {e}")
- def get_data(self, key):
- try:
- data = self.client.get(key)
- return json.loads(data) if data else None
- except redis.RedisError as e:
- self.logger.error(f"Redis 获取失败: {e}")
- return None
- def get_answer(self, query):
- try:
- answer = self.client.get(f"answer:{query}")
- if answer:
- self.logger.info(f"从 Redis 获取答案: {query}")
- return answer
- return None
- except redis.RedisError as e:
- self.logger.error(f"Redis 查询失败: {e}")
- return None
|