单例模式
class Dog(object): __instence = None def __new__(cls,*args,**kwargs): if not cls.__instence: cls.__instence = object.__new__(cls) return cls.__instence else: return cls.__instence dog1 = Dog() dog2 = Dog() print(id(dog1)) print(id(dog2))
输出
3035026006256 3035026006256
只初始化一次的单例模式
class Dog(object): __instence = None __init_flag = False def __new__(cls,*args,**kwargs): if not cls.__instence: cls.__instence = object.__new__(cls) return cls.__instence else: return cls.__instence def __init__(self,name): if Dog.__init_flag == False: self.name =name Dog.__init_flag = True dog1 = Dog("旺财") print(dog1.name) dog2 = Dog("哮天犬") print(dog2.name)
输出
旺财 旺财
数据库连接池:放在本地,夯住跟数据库的连接状态,本地要连接数据库取数据的时候,直接从数据库连接池里取连接。
优点:降低连接数据库时间,提高用户体验。