|
|
1
2
如果确实需要本地数据,请考虑将其保存到主机上的SQLite数据库,并让SQLite将热数据集加载到内存中,而不是将其全部保存在内存中。
如果您真的需要内存中的所有数据,请考虑在主机上配置交换空间,作为一种更便宜的选择。操作系统会将较冷的内存页交换到此交换空间。
当然,如果
也可以使用结构而不是类。
如果您知道您的用户id是连续的,并且您使用的是固定长度的结构,那么您还可以通过计算字节偏移来查找简单数组,而不是使用dict(Numpy数组在这里很有用)
但是,我不认为这是解决实际问题的最佳设计。其他备选方案包括:
|
|
|
2
2
一个13个字符的字符串如果全部是拉丁语,实际的字符串存储只需要13个字节,如果全部是BMP,则需要26个字节,如果整个Unicode中都有字符,则需要52个字节。
但是
如果字符串一旦被编码为UTF-8或UTF-16-LE或任何最适合您的数据的格式,那么您可能希望将它们存储在一个大的平面数组中,并根据需要将它们取出并动态解码,如
James Lim's answer
. 尽管我可能会使用NumPy原生结构化数据类型,而不是使用
那么你想要一个字符串表。这只是个巨人
例如,假设您的字符串都不超过255个字符,我们可以将它们存储为“Pascal strings”,长度字节后跟编码字节:
当然,你可能还是想换掉它
|
|
3
1
而不是使用
以便您可以逐个获取行:
|
|
|
4
1
记忆中 ,或者只是 论地方制度 ? 如果是后者,只需使用本地数据库。
key-value database
. 最简单的KV数据库是
不幸的是,
但您可能希望使用更强大的键值数据库,如Dynamo或Couchbase。
或者,您可以将远程MySQL中的数据转储到本地MySQL,甚至本地SQLite(还可以选择在其前面抛出ORM)。 |
|
|
5
0
借助于 recordclass :
|
|
|
Cam · Pandas列表日期到日期时间 1 年前 |
|
|
LMC · Numpy数组布尔索引以获取包含元素 1 年前 |
|
|
vr8ce · 非成对标记中特定字符的正则表达式 1 年前 |
|
|
ShaAnder · 为什么sqllachemy返回的是类而不是字符串 1 年前 |
|
|
Pernoctador · Python映射可以复制吗?我需要参考地图 1 年前 |