簡體   English   中英

django-cache-machine和Redis

[英]django-cache-machine and Redis

我正在嘗試使用django-cache-machine來緩存我的應用程序中的查詢,但我想使用Redis作為后端。 文檔並沒有真正解釋如何執行此操作,但存儲庫中充滿了Redis引用,所以我很確定它是可行的。 我想確保我做得對,所以我想知道是否有人有配置這個的經驗,也許更重要的是,知道是否有任何警告?

在您的設置中:

CACHE_MACHINE_USE_REDIS = True

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

我在我的項目中有一點經驗,一個報告系統可以生成大約5000萬條記錄的表格。

數據庫是Mysql ,我可以顯示我的設置和模型FYI。

設置:

    # 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='')

請注意, cache-machine適用於query_set。 過濾計數 ,不適合query_set。 注釋聚合 當然不要忘記先啟動你的memcache客戶端。

在運行時,您可以在django * .log中看到緩存機器日志,告訴您緩存或未命中緩存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM