【问题标题】:SQLite as an App Queue, Exclusive Row Lock?SQLite 作为应用程序队列,排他行锁?
【发布时间】:2011-01-28 06:21:34
【问题描述】:

我正在考虑使用 SQLite 作为“作业队列容器”,并且想知道如何使用自定义 C#(使用 ADO.NET)来处理数据库。

如果这是 SQL Server,我会设置一个可序列化的事务,以确保在我完成之前,父行和子行都是我的。我不确定这在 SQLite 中如何工作,有人可以提供任何帮助吗?

或者,如果有任何其他现有的使用 SQLite 进行消息队列的实现,我也将不胜感激任何指向该方向的指针。

谢谢!

【问题讨论】:

    标签: c# sqlite queue message-queue


    【解决方案1】:

    根据您的 MS SQL 经验,您可以在 SQLite 中做什么? sqlite 有很好的包装器,所以类是相同的,但以 Sqlite 开头(如 SqliteConnection)。它有一些差异,但它们很容易处理。

    那么使用 sqlite 作为队列有什么问题呢?在入队时插入行,在出队时选择具有最大 id 的行然后删除。

    【讨论】:

      【解决方案2】:

      SQLite 为写操作锁定整个文件。在事务中执行您的写入,在您的事务完成之前,其他人将无法访问数据库中的任何表。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-15
        • 2016-05-18
        • 2011-10-28
        • 2012-05-20
        • 2021-08-20
        • 2020-08-22
        相关资源
        最近更新 更多