使用 Sequel 从多个应用程序同时访问数据库

发布于 2024-08-12 08:39:19 字数 190 浏览 6 评论 0原文

如果我在 Ruby 应用程序中使用 Sequel,如下所示:

DB = Sequel.sqlite('testdb.db')

它会使数据库共享吗?我可以同时从不同的 ruby​​ 应用程序访问同一文件并让数据库执行锁定等操作吗?

我想可能不会,我实际上必须运行一个单独的数据库实例。

If I use Sequel in a Ruby app like this:

DB = Sequel.sqlite('testdb.db')

does it make the database shared? Can I acces this same file from a different ruby app AT THE SAME TIME and get the database to perform locking etc?

I'm thinking probably not and i'd have to actually have a separate instance of the database running.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

伴我老 2024-08-19 08:39:19

是的,如果您使用文件支持的数据库,则可以通过多个进程访问它。它们甚至不必是 ruby​​ 进程。请注意,在 SQLite 中,写入器会阻塞所有读取器,因此多进程或多线程写入性能不是很好。

Yes, if you use a file backed database, you can access it by multiple processes. They don't even have to be ruby processes. Note that in SQLite, writers block all readers, so multi-process or multi-threaded write performance is not very good.

喜你已久 2024-08-19 08:39:19

这与 Ruby 和 Sequel 无关。这取决于 sqlite。查看sqlite FAQ,看看它是否回答了您的问题。

This is not up to neither Ruby nor Sequel. It's up to sqlite. Take a look at sqlite FAQ, and see whether it answers your question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文