我开发了我的第一个Django Web应用程序,它从RTC中提取数据并在仪表板中显示内容。我将数据存储到sqlite3数据库中,然后将数据存储到网页上。
由于这些数据会经常更改,我想定期(每10分钟后)使用cron作业删除模型中的现有内容并写入最新数据。此外,由于这将由多个用户使用,我想知道在sqllite3中处理并发性的最佳方法。
在删除和重写模型中的新内容时,用户可能会访问网页。我意识到select_for_update()
只会进行行级锁定,这只能在其他数据库中运行,如oracle,mysql等,但在那里找不到sqlite3。此外,在我的场景中,我是否需要表级锁定?我该怎么办?
我查看了https://medium.com/@hakibenita/how-to-manage-concurrency-in-django-models-b240fed4ee2
链接在哪里给出了两种方法Pessimistic(提到了行级锁定)和乐观(在我的场景中,Don认为它适用于多用户)
请详细说明处理此问题的最佳方法。