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 правильно управляет подключениями к потокам даже без пула.

Другие вопросы по тегам