数据类型,可用于根据会话的到达来存储数据

Posted

技术标签:

【中文标题】数据类型,可用于根据会话的到达来存储数据【英文标题】:data type which can be used to store data according to the arrival for the session 【发布时间】:2022-01-09 06:49:44 【问题描述】:

我想知道根据会话的到来,可以使用哪些数据类型来存储数据。

【问题讨论】:

请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。 【参考方案1】:

问的问题很模糊,我的解释是 有两个功能:

    添加新的会话时间。 检查是否已看到特定会话时间。

第一种方法:使用哈希集,其中估算会话时间和检查会话时间的时间复杂度为O(1)缺点:空间复杂度为O(N)。由于我们独立存储每个会话时间,因此需要的存储空间很大,假设输入数据很大。 即,如果会话时间是 1,2,3,4,6,7,8,9,10,我们将以不同的方式将每个数字存储在哈希集中。

第二种方法:使用有序地图来存储已经看到的会话时间范围。 Key 表示范围的开始时间,Value 表示范围的结束时间 使用相同的例如。 1,2,3,4,6,7,8,9,10 将存储为:

| Key      | Value |
| -------- | ------|
| 1        | 4     |
| 6        | 10    |

这样我们减少了存储空间,并且更容易搜索范围。

缺点:插入和检查时间都是O(logN)

您可以根据自己的要求使用任何方法:

如果您需要判断会话时间是否可见,第一种方法会更好。 如果您需要返回丢失的会话以在任意两次 T1T2 之间获得所有会话,则第二种方法会更好。

【讨论】:

以上是关于数据类型,可用于根据会话的到达来存储数据的主要内容,如果未能解决你的问题,请参考以下文章

C# 泛型的使用

认识Cassandra

session和cookie

SQL 用于各种数据库的数据类型:MySQLSQLsever

MySql JSON 数据类型的用例

哪种列类型用于将年份字段存储在具有年度数据行的表中