Python - Redis:在Redis中序列化存储对象的最佳实践

时间:2013-09-26 10:39:50

标签: python redis cassandra cql cqlengine

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

哪种方式更快?泡菜每个记录?或为每条记录创建字典?

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

1 个答案:

答案 0 :(得分:2)

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

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

如果您选择序列化,您可能至少需要考虑更多与语言无关的序列化格式,例如JSON,BSON,YAML或其他许多格式。