要素服務之快取

2021-08-24 20:03:50 字數 1229 閱讀 8440

要素服務在訪問要素源中的資料之前,除了需要必須建立乙個到要素源的fdo連線,還經常需要描述要素源的模式和空間上下文(

spatail context

),獲取要素類及其屬性的定義資訊,這些操作都會花掉一定的時間,特別是描述要素源的模式,所以mapguide伺服器將這些資訊快取下來以提高mapguide伺服器的效能。

當要素服務需要某個要素源的模式、要素類定義、屬性定義、空間上下文時,首先會在要素服務快取中查詢此專案,如果找到了就直接使用此快取專案,否則執行fdo命令得到此專案,然後將其儲存至要素服務快取中。在將其儲存到要素服務快取中時,如果快取中的專案數小於可以快取的最大專案數,則直接將其放入專案中,否則刪除掉快取中最後被使用的專案,然後將新的專案加入快取。當某個快取項的空閒時間(即當前時間和連線最後使用時間的時間差)超過設定的值時,會將其從快取中刪除。

通過修改mapguide

伺服器配置檔案serverconfig.ini

可以配置要素服務快取中可以快取的最大專案數、緩衝項的超時時間、超時檢測時間間隔,這些引數的具體含義請參考表1-

1,如下的引數值設定可以快取的最大專案數為100

,緩衝專案的超時時間為60

個小時(86400

秒),超時檢測時間間隔為1

小時(28800

秒)。

[featureserviceproperties]

cachesize = 100

cachetimelimit = 86400

cachetimerinterval = 3600

任何快取技術都必須解決資料更新的問題,如果被快取的資料發生了變化,如何通知並更新快取中對應的專案。目前,mapguide

並沒有為此提供任何解決方案,因為mapguide

並沒有提供任何方法修改要素源的模式、要素類定義、屬性定義和空間上下文。所以,除非使用者使用外部應用程式修改了要素源的這些資訊,否則不會產生任何問題。

屬性名稱

描述

cachesize

用於指定要素快取中可以快取的最大專案數,它可以為大於0小於等於5000的任何整數。

cachetimelimit

用於指定單位為秒的緩衝專案超時時間。

cachetimerinterval

用於指定單位為秒的檢測緩衝專案是否超時的時間間隔。

表1-1 要素服務的配置資訊

arcgis api for js 之發布要素服務

如果我們要在網頁端實現要素的增刪改查操作,需要使用到要素服務 featureservice 本篇文章將介紹如何發布要素服務。在發布之前,我們先了解下要素服務 要素服務可用來通過 internet 提供要素,並提供顯示要素時所要使用的符號系統。之後,客戶端可執行查詢操作以獲取要素,並執行相應的編輯操作...

多層快取 要素快取

多層快取概念在很多地方都用到過 1 把內容根據讀取頻率,分不同的等級 不同的層次進行儲存,頻率越高離查詢越近。2 還一種多層是快取索引的做法,類似b樹查詢,這樣能提高檢索效率。3 從架構上來說瀏覽器快取 cdn快取 反向 快取 服務端快取 也是多層快取。要素快取 要素快取是資料的本地副本,用於提高 ...

認識快取之伺服器快取(Nginx)

不管是前面介紹的apache快取還是現在要介紹的nginx快取,其實他們都借鑑了squid。隨著web伺服器的發展,web伺服器的快取功能已經越來越強大,通過配置使用web伺服器的快取功能,我們在很多時候已經沒有必要去實用squid了。下面是nginx的proxy cache模組的介紹。二 ngin...