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

C# SQLite作为应用程序队列,独占行锁?,c#,sqlite,queue,message-queue,C#,Sqlite,Queue,Message Queue,我正在考虑使用SQLite作为作业队列容器,并想知道如何使用自定义C和ADO.NET来处理数据库 如果这是SQL Server,我将设置一个可序列化事务,以确保父行和子行在我完成之前都是独占的。我不确定这在SQLite中是如何工作的,有人能提供任何帮助吗 或者,如果有任何其他现有的使用SQLite的消息队列实现,我也希望有任何指向该方向的指针 谢谢 根据您的MS SQL经验,您可以在SQLite中做什么?sqlite有很好的包装器,所以类是相同的,但从类似sqlite的SqliteConnect

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

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

或者,如果有任何其他现有的使用SQLite的消息队列实现,我也希望有任何指向该方向的指针


谢谢

根据您的MS SQL经验,您可以在SQLite中做什么?sqlite有很好的包装器,所以类是相同的,但从类似sqlite的SqliteConnection开始。它有一些区别,但很容易处理


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

从您的MS SQL体验中,您可以在SQLite中做什么?sqlite有很好的包装器,所以类是相同的,但从类似sqlite的SqliteConnection开始。它有一些区别,但很容易处理

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

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

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