缓存策略 |
随着 SuperMap GIS 系列产品中缓存技术的发展,SuperMap 服务器产品在缓存方面也提供了多方位的支持:支持 HTTP 缓存,提供覆盖所有服务类型的请求缓存,为地图服务提供栅格、矢量和属性(已过时)三种类型的瓦片。
一般而言,地图缓存主要是指地图瓦片,而从7C 产品开始,地图服务的缓存除传统的栅格瓦片外,还包括新出现的矢量瓦片和属性瓦片(已过时)。
SuperMap iServer 支持启用 Web 请求缓存。
Web 请求缓存是把所有不同请求的结果保存在内存中来实现缓存,可以根据需要选择是否启用/禁用 Web 请求缓存。启用 Web 请求缓存后,请求的响应结果会自动缓存,当客户端再次发出相同的请求时,服务端会直接把该缓存结果返回,从而提高服务性能。
SuperMap iServer 默认启用 Web 请求缓存,缓存生命周期为 1 分钟,当一分钟内没有相同的请求来临时,缓存将会自动失效。支持 Web 请求缓存的模块有:REST 地图服务、REST 三维服务。
开启请求缓存,是指服务器端将客户端请求的响应结果保存在本地,服务器再次收到同样的请求时不再进行处理,而是直接返回响应结果,这里的响应结果可以是地图瓦片、分析结果、三维模型等。因此,请求缓存支持地图、数据、分析、三维等全功能 REST 服务,可全面提升服务器端的响应效率。各服务支持请求缓存的资源如下表所示。
表1 支持请求缓存的服务与资源
远程 REST 服务 | 支持请求缓存的资源 | |
REST 地图服务 | entireImage、image、overview、symbol、tileImage | |
REST 数据服务 | features feature statistic 注:只针对查询操作和要素的获取操作。 |
|
REST 空间分析服务 | 缓冲区分析资源 | datasetBufferResults、datasetBufferResult、geometryBufferResults、geometryBufferResult |
叠加分析资源 | datasetOverlayResults、datasetOverlayResult、geometryOverlayResults、geometryOverlayResult | |
提取等值线资源 | datasetIsolineResults、datasetIsolineResult、geometryIsolineResult、geometryIsoregionResults | |
提取等值面资源 | datasetIsoregionResults、datasetIsoregionResult、geometryIsoregionResults、geometryIsoregionResult | |
插值分析资源 | datasetInterpolation、datasetThiessenResults、datasetThiessenResult、interpolationIDW、 interpolationIDWResult、interpolationDensity、interpolationDensityResult、 interpolationRBF、 interpolationRBFResult、interpolationKriging、 interpolationKrigingResult |
|
线性参考资源 | datasetLinearReferencing、generateSpatialData、spatialDataResult | |
空间关系分析结果集 | datasetGeorelationResults、datasetGeorelationResult | |
数据集邻近分析结果集资源 | datasetGeorelationResults、datasetGeorelationResult、geometryThiessennResults、geometryThiessennResult | |
REST 交通网络分析服务 | TSPPaths、serviceAreas、MTSPPaths、location、closestfacilities、paths | |
REST 交通换乘服务 | transferSolutions、transferPath、transferStops、stopListByKeyword | |
REST 三维服务 | datas、data、modelIndex、config、dataversion、tiledata |
地图瓦片的生产主要通过分布式切图服务实现,该功能支持将地图数据切分为多种格式、多种存储的瓦片,如 FastDFS(已过时)、MongoDB、SMTiles、UGCV5 等格式的栅格瓦片、SVTiles 格式的矢量瓦片和 UTFGrid 格式的属性瓦片(已过时)。
将地图中所有图层切分并存储为栅格格式的地图瓦片,支持 FastDFS(已过时) 与 MongoDB 分布式存储、SMTiles 与 MBTiles 格式,SuperMap UGC 格式以及 GeoPackage 格式。
其中,SuperMap UGC 格式是 SuperMap 各个产品间通用的传统地图瓦片格式,相同版本的地图瓦片可以通用。分布式切图服务支持的“UGCV5”切片类型,就是指5.0版本原始缓存。
将地图中的矢量图层以矢量瓦片的格式进行切分和存储,支持 SVTiles 格式存储。
将地图中矢量图层的属性数据以属性瓦片的形式进行存储,支持 UTFGrid 格式存储 。
关于地图缓存与瓦片格式的详细信息,请参考:地图缓存格式。