4

我正在考虑使用 python 和 Cassandra 为 Redis 中的缓存序列化大量数据库记录。我必须序列化每条记录并在 redis 中持久化一个字符串,或者为每条记录创建一个字典并将 redis 作为字典列表持久化。

哪种方式更快?腌制每条记录?或为每条记录创建一个字典?

第二:是否有任何方法可以从数据库中获取 dic 列表?(而不是模型 obj 的列表)

4

1 回答 1

3

您可以将每个字典存储为 Redis HASH,而不是将您的字典序列化为字符串并将它们存储在 Redis LIST 中(这听起来像是您所提议的)。如果您的 dicts 是相对简单的键/值对,这应该可以很好地工作。创建每个 HASH 后,您可以将 HASH 的键添加到列表中,这将为您提供哈希键的索引。这种方法的好处可能是避免或减少所需的序列化量,并且可能更容易在其他应用程序和其他语言中使用数据集。

当然,您可以采取许多其他方法,这取决于与您正在处理的数据类型以及您计划如何使用它相关的许多因素。

如果您确实使用序列化,您可能至少需要考虑一种更与语言无关的序列化格式,例如 JSON、BSON、YAML 或许多其他格式中的一种。

于 2013-09-26T15:55:17.290 回答