mirror of
https://github.com/langgenius/dify.git
synced 2026-04-16 02:16:57 +08:00
33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
from configs import dify_config
|
|
|
|
|
|
def normalize_redis_key_prefix(prefix: str | None) -> str:
|
|
"""Normalize the configured Redis key prefix for consistent runtime use."""
|
|
if prefix is None:
|
|
return ""
|
|
return prefix.strip()
|
|
|
|
|
|
def get_redis_key_prefix() -> str:
|
|
"""Read and normalize the current Redis key prefix from config."""
|
|
return normalize_redis_key_prefix(dify_config.REDIS_KEY_PREFIX)
|
|
|
|
|
|
def serialize_redis_name(name: str, prefix: str | None = None) -> str:
|
|
"""Convert a logical Redis name into the physical name used in Redis."""
|
|
normalized_prefix = get_redis_key_prefix() if prefix is None else normalize_redis_key_prefix(prefix)
|
|
if not normalized_prefix:
|
|
return name
|
|
return f"{normalized_prefix}:{name}"
|
|
|
|
|
|
def serialize_redis_name_arg(name: str | bytes, prefix: str | None = None) -> str | bytes:
|
|
"""Prefix string Redis names while preserving bytes inputs unchanged."""
|
|
if isinstance(name, bytes):
|
|
return name
|
|
return serialize_redis_name(name, prefix)
|
|
|
|
|
|
def serialize_redis_name_args(names: tuple[str | bytes, ...], prefix: str | None = None) -> tuple[str | bytes, ...]:
|
|
return tuple(serialize_redis_name_arg(name, prefix) for name in names)
|