169 похожих чатов

Таков вопрос, как sqlite ведёт себя в многопотоке? Допустим 100

юзеров в одну секунду захотят что-то изменить через тг и получается 100 потоков обратятся к бд. С очередью не очень бы хотелось возится. Может есть универсальное решение?

11 ответов

11 просмотров

не использовать sqlite с потоками асинк на изи захэндлит 100 одновременных запросов, главное юзай только один коннект и избегай лококомпроментирующих кейсов

Tishka17
За "юзай один коннект" нужно пояснение

юзаю один коннект чтобы избегать локов

Нормально ведёт себя. Только один поток может писать. По дефолту остальные будут ждать на открытии соединения. Но есть wal режим для случая одновременных чтений С асинкио же надо быть аккуратным, чтобы не получить дэдлок. Поэтому не стоит чередовать работу с sqlite и await вызовы

просто все методы класса, который юзает коннект к бд, пишу без эвейтов 🤔

Mars BATYA [NYА]
просто все методы класса, который юзает коннект к ...

как ты следишь что в одной транзакции нет await?

Tishka17
как ты следишь что в одной транзакции нет await?

каждый метод моего класса бд создает курсор, кормит квери, возвращает ответ, если надо. Все это синхронно.

А как бы нахуя оно надо. Если в транзакции эвэйт то уже попахивает зависшими транзакциями, которые постгрес очень не любит

в этом случае 100% не ок

Tishka17
в этом случае 100% не ок

Saga передаёт пламенный привет

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта