我正在做一个使用地理空间数据的小网页。我使用GeoPandas和Shapely在Python中进行了初步分析,并试图以此为基础构建一个网页。问题是,当使用Django时,我似乎找不到一种方法来保持形状文件作为一个常量对象存储。每次请求对shape文件进行操作时,我都需要从源头加载数据。这需要6秒钟的时间,而标准的数据框架深度复制需要6秒钟。df.copy()
会花费几分之一秒的时间。有什么方法可以让我在Django中存储一个数据框架,可以在不重读shapefile的情况下被视图访问和深度复制?
由于Django的特性,全局变量并不是很好用。我用两种不同的方法解决了这个问题。第一种是直接使用django sessions。这样一来,你想全局存储的对象现在只需要在你的网站上每个会话加载一次。第二个也是更有效的选择是使用缓存服务器,无论是Redis还是memcached。这将允许你在所有的会话中非常快速地存储和获取你的对象,并且最能提高性能。