SQLite作为应用程序队列,独占行锁?

时间:2010-03-16 18:37:27

标签: c# sqlite queue message-queue

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

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

或者如果有任何其他现有的SQLite消息队列实现,我也很欣赏这方面的任何指示。

谢谢!

2 个答案:

答案 0 :(得分:6)

SQLite锁定整个文件以进行写入操作。在事务中执行写操作,在事务完成之前,没有其他任何人能够触及数据库中的任何表。

答案 1 :(得分:1)

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

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