我每秒钟都会以python词典的形式出现大量数据,现在我将它保存到mySQL服务器,因为它们进入但是会产生超过几个小时的积压。什么是在本地保存数据并将其每小时左右移动到mySQL服务器以节省时间的最佳方法。我已经尝试过redis但是它不能保存这些字典的列表,我可以稍后移动到mySQL。 / p>
答案 0 :(得分:1)
关于Python原生pickle
格式的一个鲜为人知的事实是,您可以愉快地将它们连接到一个文件中。
也就是说,只需以append
模式打开文件,将pickle.dump()
字典打开到该文件中即可。如果你想要更加花哨,你可以做一些像时间戳文件:
def ingest_data(data_dict):
filename = '%s.pickles' % date.strftime('%Y-%m-%d_%H')
with open(filename, 'ab') as outf:
pickle.dump(data_dict, outf, pickle.HIGHEST_PROTOCOL)
def read_data(filename):
with open(filename, 'rb') as inf:
while True:
yield pickle.load(inf) # TODO: handle EOF error