You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django的settings.py中配置使用fakeredis替代Redis?

可以直接让Django缓存和RQ队列指向fakeredis

完全可行,不用每次手动覆盖连接,只需在测试环境的配置文件中修改对应配置项即可,测试时会自动使用fakeredis实例,无需启动真实Redis服务。

1. 修改Django缓存配置

将原RedisCache配置替换为兼容fakeredis的设置,推荐两种方式:

方式一:基于django-redis指定fakeredis客户端

CACHES = {
    'default': {
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION': 'redis://localhost:6379/0',  # 地址仅作占位,不会连接真实Redis
        'OPTIONS': {
            'CLIENT_CLASS': 'fakeredis.FakeRedis',
        }
    }
}

方式二:直接使用fakeredis缓存后端(需fakeredis版本≥1.9.0)

CACHES = {
    'default': {
        'BACKEND': 'fakeredis.cache.FakeRedisCache',
    }
}

2. 修改RQ队列配置

在RQ队列配置中添加CONNECTION_CLASS参数,指定fakeredis客户端类:

RQ_QUEUES = {
    'default': {
        'HOST': 'localhost',  # 占位地址
        'PORT': 6379,
        'DB': 0,
        'DEFAULT_TIMEOUT': 360,
        'CONNECTION_CLASS': 'fakeredis.FakeRedis',  # 关键配置
    },
}

注意事项

  • 建议在单独的测试配置文件(如settings_test.py)中修改,避免影响生产环境的真实Redis配置。
  • 确保已安装所需依赖:
pip install fakeredis django-redis  # 使用方式一需安装django-redis,方式二仅需fakeredis

内容的提问来源于stack exchange,提问作者Scratcha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 17:10:25