Files
2025-12-22 14:04:08 +08:00

91 lines
1.8 KiB
Markdown

# 配置缓存使用说明
## 概述
项目现已支持Redis、Memcached和内存缓存三种缓存方式,用于提升配置读取性能。
## 环境变量配置
### Redis缓存
```bash
# 启用Redis缓存
CACHE_TYPE=redis
# Redis连接配置
REDIS_HOST=localhost # Redis服务器地址
REDIS_PORT=6379 # Redis端口
REDIS_DB=0 # 数据库编号
REDIS_PASSWORD= # Redis密码(可选)
```
### Memcached缓存
```bash
# 启用Memcached缓存
CACHE_TYPE=memcached
# Memcached连接配置
MEMCACHED_HOST=localhost # Memcached服务器地址
MEMCACHED_PORT=11211 # Memcached端口
```
### 内存缓存(默认)
```bash
# 使用内存缓存(默认)
CACHE_TYPE=memory
```
## 配置文件示例
`config.yaml` 中配置缓存选项:
```yaml
cache:
type: redis # 可选: redis, memcached, memory
dir: ./data/cache
redis:
host: localhost
port: 6379
db: 0
password: ""
memcached:
host: localhost
port: 11211
```
## 缓存机制
1. **优先从缓存读取**:每次配置读取都会先尝试从缓存获取
2. **自动同步**:配置文件修改后会自动同步到缓存
3. **缓存失效**:配置修改时会清除相关缓存并重新写入
4. **降级处理**:缓存失败时自动降级到内存缓存
## 缓存键结构
- 完整配置:`werss:config:full`
- 单个配置项:`werss:config:{key}`
## 缓存TTL
默认缓存时间为3600秒(1小时)
## 依赖安装
```bash
# Redis缓存依赖
pip install redis==5.2.1
# Memcached缓存依赖
pip install pymemcache==4.0.0
```
## 使用示例
```python
from core.config import cfg
# 获取配置(自动从缓存读取)
app_name = cfg.get('app_name')
# 设置配置(自动同步到缓存)
cfg.set('debug', True)
```