Skip to main content
 首页 » 编程设计

apache-flex之我们可以从多个 Flex 应用程序访问单个 SQLite 数据库吗

2025年05月04日106webabcd

是否可以从多个 Flex 客户端应用程序(Web 和 AIR 应用程序)同时访问服务器上的单个 SQLite 数据库?

是否有数据库锁定?

我想做的是,我想将我的数据存储在服务器端的 SQLite 数据库中,并且我希望 web 和 AIR 中的 Flex 应用程序可以同时从服务器上的同一个数据库中获取数据。

这可以通过 SQLite 和 Flex 应用程序实现吗?

在 Flex 中有没有更好的方法来实现这一点?

请您参考如下方法:

我最近一直在努力研究 SQLite 和并发性。这有点糟糕,但它是可行的。

问题是,当您向 SQLite 数据库发出写入操作时,您会锁定整个数据库(与其他解决方案支持的行锁定相比)。如果您从多个位置/线程发出大量写入,当出现“数据库锁定”错误时,您将最终碰壁。

我认为可以增加 SQLite 查询的超时时间,这样这些问题就变得……稍微小一些。尽管如此,它们仍然是问题。

使用 SQLite 时可能遇到的另一个问题是使用 FOR UPDATE。当您需要检索一些行,计算给定数据的东西,然后在没有其他查询同时读取这些行的情况下发出更新时使用。它不支持这样的结构。您可以绕过它,但在执行此更新时必须显式锁定整个 数据库(您会看到有人解决此问题 here)。

并发读取很好,所以也许它适合您。

我想这整个事情的TL;DR 是它取决于您期望在数据库上有多少并发命中。如果您期望很多,也许您应该研究更强大的数据库解决方案,例如 postgresql .

无论如何我都不是数据库专家,但我希望这能为您指明正确的方向。