gpt4 book ai didi

java - SQLite 和 tomcat 中的并发访问

转载 作者:行者123 更新时间:2023-11-28 22:34:35 25 4
gpt4 key购买 nike

我正在研究在部署在 Tomcat 中的 Wep 应用程序中使用 SQLite 的可能性。
谷歌搜索我找到了以下答案 SQLite in Tomcat 6其中说:

Unfortunately you cannot create a SQLite Connection pool on Tomcat as SQLite has a database file for each user

我不知道这是什么意思。

这是否意味着我无法通过我的 Web 应用程序的多个部分同时访问数据库文件?
还是仅对性能有影响?

我在这里很困惑。

最佳答案

SQLite 确实支持同一个文件的多个读取器,但只支持一个写入器。单个应用程序可以创建到同一数据库的多个连接。您提到的问题提到该应用程序希望为每个用户创建一个单独的数据库,并为所有用户使用一个连接池。它与访问数据库本身无关。

SQLite 在文件级别锁定数据库,这意味着写入者将阻止所有读取者访问数据库。您可以使用 PRAGMA journal_mode = WAL 缓解此行为使用预写日志,即使写入者正在进行修改,也允许读者读取数据。

你应该检查write-ahead logging的优点和缺点以确保您可以在您的 Web 应用程序中使用它。至少,您需要 SQLite 3.7+,并且您的数据库必须与您的 Web 应用程序位于同一台计算机上。这对于小型场景可能没问题。

不过,我同意 Tichodroma 的观点,SQLite 不适用于网络农场或托管在单独的服务器上。

关于java - SQLite 和 tomcat 中的并发访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9095584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com