假设我有很多(数百)大 python词典。腌制的文件大小约为2Mb。我想使用这些字典中的数据绘制图表,所以我必须加载它们。什么是最有效率的(以第一速度,在第二个内存中)来存储我的数据?可能我应该使用另一个缓存工具?这我现在如何解决这个任务:我应该如何使用python和redis存储简单对象?
- Pickle every my dictionary。只是腌(字典)
- 加载酸洗的字符串到redis。 redis.set(key,dict)
当用户需要图表时,我正在创建数组并使用来自redis的unpickled数据填充它。就这样:
array = [] for i in range(iteration_count): array.append(unpickle(redis.get(key)))
现在我有两个问题:内存,使我的数组是非常大的,但它不是重要的,容易解决。主要问题 - 速度。取出0.3秒以上的物体很多。我甚至有1秒以上的瓶颈时间。从redis获得这个字符串相当昂贵(超过0.01秒)。当我有很多对象时,我的用户必须等待很多秒。