我知道强尼·卡什的MAN_IN_BLACKLIST和JOHNNY_TABLE_BLACKLIST。有没有办法反其道而行之?也就是说,只指定需要缓存的表?我这么做的原因很简单,因为我们在应用程序中有200多个表,我想缓存一些表,并且不希望我的MAN_IN_BLACKLIST太大。
谢谢,
发布于 2012-05-11 17:01:46
我担心你需要修改包含blacklist_match的johnny/cache.py,而不是显式地写表格。最简单的方法是直接修改函数blacklist_match:
# set WHITELIST in johnny/settings.py, just as BLACKLIST
WHITELIST = getattr(settings, 'MAN_IN_WHITELIST',
getattr(settings, 'JOHNNY_TABLE_WHITELIST', []))
WHITELIST = set(WHITELIST)
def blacklist_match(*tables):
return not WHITELIST.issuperset(tables) or \
bool(settings.BLACKLIST.intersection(tables))发布于 2013-08-14 15:45:46
从1.4版开始,Johnny Cache实际上支持白名单。将JOHNNY_TABLE_WHITELIST添加到您的设置中,并为其分配要缓存的表列表,例如:
JOHNNY_TABLE_WHITELIST = ['appname_tablename', 'someotherapp_differenttable']source
https://stackoverflow.com/questions/10547213
复制相似问题