2013-09-26 27 views
3

我正在考虑使用python和Cassandra为Redis中的缓存数据库记录序列化一大组数据库记录。我要么序列化每个记录并在redis中保存一个字符串,要么为每个记录创建一个字典,并在redis中以字典列表的形式存在。Python - Redis:在Redis中存储序列化对象的最佳实践

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

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

回答

2

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

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

如果你确实需要进行序列化,至少可以考虑使用更多的语言不可知的序列化格式,比如JSON,BSON,YAML或其他许多格式。