我创建一个这样的mysql连接池:
database = PooledMySQLDatabase('test', max_connections=10,
**{'host': 'localhost', 'port': 3306,
'user': 'root', 'password': ''})
class BaseModel(Model):
class Meta:
database = database
class Tb1(BaseModel):
point_id = PrimaryKeyField()
class Meta:
db_table = 'tb1'
但是,我在数据库中插入记录或删除记录时,在我的程序中,选择结果不会改变。
while True:
database.connect()
tb_list = Tb1.select()
print(len(tb_list))
database.close()
import time
time.sleep(2)
当我将PooledMySQLDatabase重新编译为MySQLDatabase时,结果是正常的。 在我的项目中,我想使用多线程,所以我需要创建一个mysql池。
非常感谢
答案 0 :(得分:1)
没有缓存,没有缓冲区。它与事务管理有关。只要确保你在交易中运行你的陈述,你应该没事。
多线程应用程序不要求使用peewee的POOL。即使没有池,Peewee也能正确管理每线程连接。