猿问

简单的申请人列表 webapp

我正在创建一个 Web 应用程序,其中列出了申请人及其在等候名单上的位置。

我们需要能够将新申请人添加到此列表中并从列表中删除申请人。名单中将有不到 10,000 名申请人。

规格:

  • 我打算用 Golang 编写应用程序。

  • 列表需要安全,我的程序关闭了,应该是可以恢复的。

  • 该应用程序应包含每个申请人的以下数据:姓名、学生 ID、职位。

问题:

  1. 如果同时进行两次更新,我如何保护列表(锁定?)以便正确更新列表?

  2. 我应该将数据保存在数据库中还是使用文件?

我需要你的帮助!


狐的传说
浏览 138回答 2
2回答

慕婉清6462132

如果使用文件,则可以使用 aMutex来阻止并发写入。否则数据库就可以了。例如BoltDB可能是合适的。它是纯粹的,并与您的程序一起运行。

慕妹3242003

有很多方法。您可以使用文件并使用 Go 互斥锁或系统锁来保护它。您可以内存映射文件以提高性能。您可以使用 BoltDB,它是一个很好的软件和平和提供所需的机器并且可以在进程中工作。如果你写的很少而且主要是读,那么常量 DB https://github.com/colinmarc/cdb看起来也很有趣。但是,经典的 SQL DB 有一些优点您可以使用第三方存储数据并在需要时轻松迁移您可以从第三方应用程序或只是简单的 SQL 请求访问您的数据可以分别考虑数据模式和代码逻辑
随时随地看视频慕课网APP

相关分类

Go
我要回答