A request, such as those embedded in URLs and XML documents, is assigned to
a thread of execution in a server that is in communication with a data
store. The thread of execution includes a thread local storage with a
pointer to a cache object. The cache object maintains copies of data store
entries frequently accessed by the assigned request. The cache object is
accessed in response to data store access commands arising from the
request. When a data store access command specifies a data store entry not
found in the cache object, the server creates and loads a corresponding
cache object entry. The cache object is not updated when other requests
alter data store entries, and memory access commands arising from other
requests cannot cause the cache object to be accessed. When the request
causes the server to write data to the data store, the cache object also
maintains a copy of the written data. The server retrieves the written
data from the cache object in response to subsequent data store access
queries arising from the request. The cache object is destroyed once the
server completes a response to the request.
Una richiesta, come quelle incastonate nei documenti di XML e di URLs, è assegnata ad un filetto dell'esecuzione in un assistente che è nella comunicazione con un deposito di dati. Il filetto dell'esecuzione include un immagazzinaggio locale del filetto con un indicatore ad un oggetto del nascondiglio. L'oggetto del nascondiglio effettua le copie delle entrate del deposito di dati raggiunte frequentemente dalla richiesta assegnata. L'oggetto del nascondiglio è raggiunto in risposta agli ordini di accesso del deposito di dati in seguito alla richiesta. Quando un ordine di accesso del deposito di dati specifica un'entrata del deposito di dati non trovata nell'oggetto del nascondiglio, l'assistente genera e carica un'entrata corrispondente dell'oggetto del nascondiglio. L'oggetto del nascondiglio non è aggiornato quando altre richieste alterano le entrate del deposito di dati e gli ordini di accesso di memoria in seguito ad altre richieste non possono indurre l'oggetto del nascondiglio ad essere raggiunto. Quando la richiesta induce l'assistente a redigere i dati al deposito di dati, l'oggetto del nascondiglio inoltre effettua una copia dei dati redatti. L'assistente richiama i dati redatti dall'oggetto del nascondiglio in risposta alle domande successive di accesso del deposito di dati in seguito alla richiesta. L'oggetto del nascondiglio è distrutto una volta che l'assistente completa una risposta alla richiesta.