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

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

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

11 ответов

10 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
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
Карта сайта