我正在尝试使用 django-cache-machine 在我的应用程序中缓存查询,但我想使用 Redis 作为后端。文档并没有真正解释如何做到这一点,但是存储库中充满了 Redis 引用,所以我很确定这是可能的。我想确保我做对了,所以我想知道是否有人有配置这个的经验,也许更重要的是,知道是否有任何警告?
问问题
1156 次
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 可以正常工作。filter和count,不适合 query_set。注释或聚合。当然不要忘记先启动你的 memcache 客户端。
运行时,您可以在 django*.log 中看到缓存机器日志,告诉您命中或未命中缓存。
于 2013-07-23T15:40:00.457 回答