妥善处理大量数据

时间:2015-02-19 21:50:47

标签: vb.net sqlite datagridview

我冒险进入了一个非常未知的领域,我需要一些建议。我正在为Twitch构建一个可能包含数十万个帐户的IRC机器人。以前我使用Dictionary(of String,Integer)将这些帐户及其余额存储在内存中,然后将它们写入文本文件并将其保存到磁盘。现在我存储了更多的数据,比如他们的在线时间,无论是追随者还是订阅者,他们捐赠了多少。所以我开始使用SQLite来存储帐户,我相信我需要利用带有虚拟模式的DataGridView来显示这些帐户,并允许用户编辑任何数据。到目前为止我是在正确的轨道上吗?我的目标是在管理大量数据时保持简单,希望这不是矛盾。

现在我想象SQLite数据库中的帐户需要缓存,以便在需要进行更改或用户滚动数据网格视图中的帐户列表时,不会经常从硬盘读取数据库(在虚拟模式中)。我到目前为止对吗?

如果还有其他更简单的方法我可以使用请告诉我,否则有人可以帮助理解我如何缓存这些帐户?我确实考虑将它们写入Dictionary(String,String),然后在需要使用特定值时拆分字符串。无论如何我等待你的建议或意见。 谢谢。

1 个答案:

答案 0 :(得分:1)

根据我上面的评论,您需要查看课程。见下面的小例子......

 Public Class Accounts
  Public Property AccountID As Integer = 0
  Public Property AccountName As String = String.Empty
  Public Property IsFollower As Boolean = False
  **'Add more properties as needed'**

  Public Sub New()

  End Sub

 End Class

接下来,您可以调用数据库并从表中获取所有id;您可以使用这些查询特定ID的其余数据...

遍历你拥有的身份证并获取他们的数据......

 Dim nAccount As Account = Nothing
 For each blah blah blah....
   nAccount = query from database... which will return your Account class object...

现在您可以将此对象(您的帐户类)添加到集合中;例如Dictionary(Of Integer, Account)ListOf()

正如我之前提到的,有几种不同的方法可以解决这个问题,这取决于你需要做什么以及你想如何处理数据。