# -*- coding: utf-8 -*- """统一 Redis 客户端工厂。 替代原 interface/settings.py 与 common/source.py 中分散的 Redis 连接代码。 所有 Redis 连接经此模块,配置走 infra/config.py。 """ from __future__ import absolute_import import redis from . import config __all__ = [ "get_main_redis", "get_baseline_redis", "get_error_att_redis", "redis_main_config", "queue_names", "consumer_params", ] def get_main_redis(): """主 Redis(队列模式业务库,原 settings.REDIS_DB=12)。""" cfg = config.redis_main_config() return redis.StrictRedis( host=cfg.get("host", "127.0.0.1"), port=int(cfg.get("port", 6379)), db=int(cfg.get("db", 12)), password=cfg.get("password", ""), ) def get_baseline_redis(): """基线 Redis(原 common/source.py::getConnect_redis_baseline,db=6)。""" cfg = config.redis_main_config() return redis.StrictRedis( host=cfg.get("host", "127.0.0.1"), port=int(cfg.get("port", 6379)), db=int(config.get_redis_config().get("baseline", {}).get("db", 6)), password=cfg.get("password", ""), ) def get_error_att_redis(): """附件过滤 Redis(原 common/source.py::getConnect_redis_error_att,db=10)。""" cfg = config.redis_main_config() return redis.StrictRedis( host=cfg.get("host", "127.0.0.1"), port=int(cfg.get("port", 6379)), db=int(config.get_redis_config().get("error_attachment", {}).get("db", 10)), password=cfg.get("password", ""), ) def redis_main_config(): """向后兼容:返回主 Redis 配置 dict。""" return config.redis_main_config() def queue_names(): """队列名 dict。""" return config.redis_queue_names() def consumer_params(): """消费者参数 dict。""" return config.redis_consumer_params()