peewee PooledMySQLDatabase имеет кеш или буфер?
Я создаю пул соединений 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.
большое спасибо
1 ответ
Нет кеша, нет буфера. Это связано с управлением транзакциями. Просто убедитесь, что вы выполняете свои заявления в транзакциях, и все должно быть в порядке.
Многопоточные приложения НЕ ТРЕБУЮТ БАССЕЙНА с peewee. Peewee правильно управляет подключениями к потокам даже без пула.