проблема httpcache - PullRequest
       18

проблема httpcache

0 голосов
/ 19 ноября 2010

У меня есть хранилище, которое извлекает данные из базы данных, а иногда и из кэша.

Чтобы реализовать это, я создал интерфейс ICacheWrapper, который позволяет репо использовать HttpRuntime.Cache, AppFabric, что угодно.Конкретные классы ICacheWrapper обычно принимают кеш в своем конструкторе следующим образом: new HttpCacheWrapper (HttpRuntime.Cache)

Конструктор репо получает ссылку на оболочку кеша, например:

myRepo = new Repo(new HttpCacheWrapper(HttpRuntime.Cache));

Если я создаю 2 репозитория, копируется ли кэш?Я думаю, что нет, но наши проблемы с производительностью указывают на обратное.Я что-то здесь пропустил?

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 20 ноября 2010

Что ты видишь?Что делает HttpCacheWrapper с HttpRuntime.Cache, который он передает?

Я подозреваю, что вместо этого вы видите политику кэширования, которая удерживает вещи слишком долго для скорости кеширования.Как сказал Раймонд Чен, «неправильная политика кэширования неотличима от утечки памяти».

Я бы выделил это, пытаясь протестировать только с одним репо, используя вашу политику.Посмотрите, появляются ли у вас проблемы с производительностью.

Если нет, то создайте 2-й репозиторий и внимательно следите за использованием памяти.

...