В настоящее время используется boltdb
для хранения различных записей в ковше.Поддерживает ли boltdb параллельные запросы для чтения и обновления db?
Как я могу использовать концепцию языка и каналы языка Go в чтении и обновлении в db?
В настоящее время используется boltdb
для хранения различных записей в ковше.Поддерживает ли boltdb параллельные запросы для чтения и обновления db?
Как я могу использовать концепцию языка и каналы языка Go в чтении и обновлении в db?
Вообще, да, можно, при условии, что вы обратите внимание на следующие моменты:
все доступы должны быть сделаны в своих собственных операциях. Транзакции не должны передаваться между goroutines (будь то только для чтения или чтения-записи).
boltdb допускает только один писатель в данный момент времени. Если несколько одновременных транзакций пытаются писать одновременно, они будут сериализованы. Согласованность базы данных гарантируется, но она влияет на производительность, поскольку операции записи не могут быть распараллелены.
транзакции только для чтения выполняются одновременно (и потенциально распараллеливаются).
открывать только одну транзакцию в данном горуте одновременно, чтобы избежать ситуаций взаимоблокировки.
Это слишком широкий вопрос - вы должны попытаться достичь своей цели самостоятельно, а затем, когда вы столкнетесь с конкретными проблемами, попросите помочь преодолеть эти барьеры. –