2024-04-26 18:08:44 发布
网友
我有一个Python脚本,每x分钟调用一次来解析JSON文件。在
JSON包含具有ID的数据点。我希望能够查看在脚本的上一次运行中是否遇到了ID,以便可以将数据点中包含的信息附加到具有相同ID的旧数据中
为了做到这一点,我想将数据作为键值对存储在缓存中。本例中的键是ID和值JSON中包含的其余信息。如何在Python中实现这一点?在
我会使用sqlite数据库,但您也可以轻松地使用另一个json文件来记录遇到的ID。我不认为您会很容易地将它保存在内存中,并且在python会话之间进行访问。在
我认为戒指对你的问题有帮助。https://ring-cache.readthedocs.io/en/latest/
当您的函数如下所示时:
def your_function(data_id): return ...
环的适应性如下:
它们将存储在storagedict中(除非您终止进程)。 如果您想在终止进程后仍保留缓存,类似@ring.memcache或{}之类的方法将对您有所帮助。在
storage
@ring.memcache
按照惯例,在本例中使用的数据结构是hash map/hash table,其中ID可以是您的键,值可以是序列化数据的哈希-
考虑到python中的字典实际上是使用哈希表实现的,与每次解析整个内容并重新构建检索到的对象不同,这是否值得这样做的问题取决于您到底要对数据做什么以及它有多少数据。在
如果您正在寻找一个基于键值的存储,为了向python脚本添加持久性,无sql方法(例如mongoDB)应该很适合。在
我会使用sqlite数据库,但您也可以轻松地使用另一个json文件来记录遇到的ID。我不认为您会很容易地将它保存在内存中,并且在python会话之间进行访问。在
我认为戒指对你的问题有帮助。https://ring-cache.readthedocs.io/en/latest/
当您的函数如下所示时:
环的适应性如下:
^{pr2}$它们将存储在}之类的方法将对您有所帮助。在
storage
dict中(除非您终止进程)。 如果您想在终止进程后仍保留缓存,类似@ring.memcache
或{按照惯例,在本例中使用的数据结构是hash map/hash table,其中ID可以是您的键,值可以是序列化数据的哈希-
考虑到python中的字典实际上是使用哈希表实现的,与每次解析整个内容并重新构建检索到的对象不同,这是否值得这样做的问题取决于您到底要对数据做什么以及它有多少数据。在
如果您正在寻找一个基于键值的存储,为了向python脚本添加持久性,无sql方法(例如mongoDB)应该很适合。在
相关问题 更多 >
编程相关推荐