Modest opinions  
by a humble autodidact

我调用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都可能储存错误内容。

 

 

posted on 2010-09-17 14:27  yushih  阅读(1352)  评论(0编辑  收藏  举报