问题标签 [django-johnny-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
622 浏览

python - Django:“BaseTable”对象不支持索引

我正在将我的项目迁移到 Django 1.8,并且收到与“johnny cache. 特别是在“johnny/cache.py/”中。

错误: lib/python2.7/site-packages/johnny/cache.py",第 87 行,在 get_tables_for_query 表中 = set([v[0] for v in getattr(query, 'alias_map', {}).values( )])

TypeError:“BaseTable”对象不支持索引

我在下面包含了错误源自函数的代码。不建议我是否应该使用 'johnny -cache' 以外的其他东西进行缓存会有所帮助和/或有关此错误的含义以及如何修复它的信息。谢谢!

0 投票
0 回答
72 浏览

python - 在 Django 中缓存数据库时缓存失效

我对缓存的概念相当陌生,尝试使用自定义中间件在 django 中缓存数据库查询。我尝试使用 Johnny 缓存,但它的缓存失效逻辑在我的用例中并没有优化。

我有一个巨大的表,正在从中进行多个读/写查询。如果对特定表进行任何写查询,Johnny 缓存会读入缓存并使其无效。

约翰尼缓存

“不惜一切代价避免数据库不是目标,因此同一数据集上的不同排序子句被视为不同的查询。由于失效发生在表级别,因此任何已修改的表都会使缓存的查询无法访问”

在我的情况下,我想有一个更具体的缓存失效。还有哪些其他标准方法可以做到这一点?