Go语言 我应该使用一些阻塞机制来异步访问数据库吗

5gfr0r5j  于 2023-04-09  发布在  Go
关注(0)|答案(2)|浏览(144)

我正在使用gorm和Postgres在Go中编写一个异步聊天机器人。我应该在使用gorm db客户端时使用一些阻塞机制,或者我可以安全地避免互斥锁等。例如,我正在使用不同的goroutines中的gorm db客户端。类似于:

func () {

db.Update(...)

}
kkbh8khc

kkbh8khc1#

你不需要这样做。从官方的database/sql文档(gorm Package )中,我们可以看到(重点添加):

返回的DB对于多个goroutine并发使用是安全的,并维护自己的空闲连接池。因此,OpenDB函数只需调用一次。很少需要关闭DB。

hjqgdpho

hjqgdpho2#

正如你在Gorm网站上看到的,它声明Gorm并发是安全的,因此,没有必要阻止它。

相关问题