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

4
我考虑使用Python和Cassandra将一个大型数据库记录集序列化以进行Redis缓存。我可以将每个记录序列化并在Redis中持久化字符串,也可以为每个记录创建一个字典,并将其作为字典列表持久化到Redis中。哪种方法更快?pickle每个记录?还是为每个记录创建一个字典?其次,是否有从数据库获取字典列表的方法?(而不是模型对象列表)
1个回答

3
相比于将您的字典序列化为字符串并存储在Redis LIST中(这听起来就像您所提议的那样),您可以将每个字典作为Redis HASH存储。如果您的字典是相对简单的键/值对,那么这应该很有效。创建每个HASH后,您可以将HASH的键添加到LIST中,这将为您提供HASH的键索引。此方法的好处可能在于避免或减少所需的序列化量,并且可能使数据集更易于在其他应用程序和其他语言中使用。
当然,您可以采取许多其他方法,这将取决于与您处理的数据类型以及计划如何使用它相关的许多因素。
如果您确实决定进行序列化,您可能至少要考虑更具语言通用性的序列化格式,例如JSON、BSON、YAML或其他许多格式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接