3

我正在尝试使用 django-cache-machine 在我的应用程序中缓存查询,但我想使用 Redis 作为后端。文档并没有真正解释如何做到这一点,但是存储库中充满了 Redis 引用,所以我很确定这是可能的。我想确保我做对了,所以我想知道是否有人有配置这个的经验,也许更重要的是,知道是否有任何警告?

4

2 回答 2

3

在您的设置集中:

CACHE_MACHINE_USE_REDIS = 真

REDIS_BACKEND = redis://127.0.0.1:6379?socket_timeout=0.1

https://github.com/jbalogh/django-cache-machine/blob/master/caching/invalidation.py#L187 https://github.com/jbalogh/django-cache-machine/blob/master/caching/invalidation .py#L213

于 2014-02-22T03:49:22.123 回答
-1

我的项目有一点经验,一个从大约 5000 万条记录生成表格的报表系统。

数据库是Mysql,我可以显示我的设置和模型仅供参考。

设置:

    # cache machine
CACHES = {
    'default': {
        'BACKEND': 'caching.backends.memcached.MemcachedCache',
        'LOCATION': [
            '127.0.0.1:11211',
        ],
        'PREFIX': 'report:',
    },
}
CACHE_COUNT_TIMEOUT = 60 * 24  # one day
CACHE_EMPTY_QUERYSETS = True

楷模:

class App(**CachingMixin**, models.Model):
    **objects = CachingManager()**

    name = models.CharField(max_length=64,
                            default='')

请注意,对于 query_set,cache-machine 可以正常工作。filtercount,不适合 query_set。注释聚合。当然不要忘记先启动你的 memcache 客户端。

运行时,您可以在 django*.log 中看到缓存机器日志,告诉您命中或未命中缓存。

于 2013-07-23T15:40:00.457 回答