Реализация объектного кеширования в классическом ASP с утечкой памяти

Я попытался реализовать различные реализации кэширования на классическом сайте ASP, чтобы разгрузить базу данных во время интенсивного трафика.

Мой подход был такой:

Create a global HashTable object in global.asa where I later on store jscript-objects within

<object id="SIZE_LIST" progid="System.Collections.HashTable" runat="Server" scope="Application"></object>

Это дает мне глобальный HashTable-объект, который я через определенные промежутки времени заменяю содержимым HashTable. Размер будет немного отличаться, но я, однако, каждый раз делаю .Remove () и .Add () для всех объектов.

Это работает очень хорошо, помимо того факта, что через некоторое время распределение памяти в приложении становится высоким, что приводит к нерациональному поведению сеансов. Это "забудет" сеансы, но не вызывают OnSessionStart () в global.asa. Для этого оставляем посетителей с пустой сессионной коллекцией.

Можно ли как-то улучшить процесс перераспределения памяти? Есть ли лучший подход для объектного кэширования?

Я пытался использовать простые текстовые файлы с сериализованными данными json, но десериализация этого требует много времени. Я думал о двоичной сериализации, но не уверен, возможно ли это даже в классическом ASP.

Ответы на вопрос(4)

Ваш ответ на вопрос