1

Johnny cacheMAN_IN_BLACKLISTJOHNNY_TABLE_BLACKLIST. 逆を指定する方法はありますか?つまり、キャッシュする必要があるテーブルのみを指定しますか? アプリケーションに200を超えるテーブルがあり、いくつかをキャッシュしたいので、テーブルを非常に大きくしたくないという単純な理由でこれを行いたいと思いますMAN_IN_BLACKLIST

ありがとう、

4

2 に答える 2

1

テーブルを明示的に記述する代わりに、ハックする必要があると思いますがjohnny/cache.py、主に行には が含まれていますblacklist_matchblacklist_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))
于 2012-05-11T09:01:45.860 に答える
0

バージョン 1.4 以降、Johnny Cache は実際にホワイトリストをサポートしています。設定に追加JOHNNY_TABLE_WHITELISTし、キャッシュするテーブルのリストを割り当てます。例:

JOHNNY_TABLE_WHITELIST = ['appname_tablename', 'someotherapp_differenttable']

ソース

于 2013-08-14T07:45:46.217 に答える