惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
G
Google Developers Blog
D
Docker
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
T
The Blog of Author Tim Ferriss
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
I
InfoQ
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
Google DeepMind News
Google DeepMind News

博客园 - yushih

初学Erlang,写两个程序玩玩 一直没弄明白的事--为什么招聘要求会有“面向对象分析与设计”这一项 用Linux的iptables和Python模拟广域网 Python programming with goto 实用主义之过--Pragmatic Version Control using Subersion, 2nd Ed.的书评 Python把C语言打得满地找牙 信春哥!Python递归原地满状态变显式堆栈!入教即送尾递归优化! STL的binary search算法正确性的初步说明 关于文档标准之争的一点旁注 有关Ruby eval的一点编程风格 Design pattern一来,动态语言就笑了 - yushih - 博客园 完全没有领会“电子商务”的真谛 超级奇怪的F#格式错误 JAOO的魅力所在 一个Ruby idiom F#的一点糖 C++ hack:将C++编译器的类型检查转化为SLR(1)解析器 Quotes The Ruby Programming Language第一版非官方修正
Django杂记: super与metaclass,locmem有害
yushih · 2010-09-17 · via 博客园 - yushih

我调用super的习惯是这样的:
super(self.__class__, self)...
第一个参数我一般不写类名,因为我觉得这样更DRY,但是在Django中继承某些类的时候不能这样写。因为Django中有的类使用了特殊的metaclass,如果你这样定义了一个类:

class MyClass(django.XXX):
    def fun(self, ...):

那么self.__class__并不是MyClass。所以super(self.__class__, self)得到的结果并不是一般期望的。

当Django以多进程的方式部署时,locmem cache是不能用的。 首先每个进程一个cache,无端降低了命中率,增加了内存消耗。其次,如果程序是在数据改变时更新或删除老的cache,那么只有处理引起数据改变的进程的cache能得到处理,其它进程的cache都可能储存错误内容。