Кэш сквозной записи - PullRequest
0 голосов
/ 24 марта 2010

Я пытаюсь реализовать реализацию C # сквозного кэша для минимизации количества обращений к базе данных. Мне нужны ваши предложения, статьи или примеры кода для выполнения этого задания.

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

Я смог получить только достойную статью на Oracle Site.

Пожалуйста, поделитесь своим мнением

С уважением Mubashar

1 Ответ

2 голосов
/ 24 марта 2010

Самое простое, что можно сделать, - это кэшировать на более высоком уровне, чем уровень подключения к базе данных. Если у вас есть слой доступа к данным, который изолирует вас от мелочей SQL, обычно это хорошее место. Если у вас есть место, где запрашиваются объекты данных, это было бы еще лучше; ваш ключ кэширования может быть идентификатором этих объектов.

В конечном итоге вам, вероятно, понадобится кеширующий прокси, который инкапсулирует вашу логику кеширования, запрещая чтение, но передавая записи через базовый сервис (уровень персистентности объекта или уровень доступа к данным). Вы можете использовать WeakReference, чтобы неиспользуемые объекты истекли из вашей коллекции кэширования, и в этом случае вам нужно будет немного очистить. С другой стороны, вы можете написать свою собственную логику истечения срока действия, и в этом случае вам придется выполнять больше очистки, но при этом сохранится больший контроль.

Без более подробной информации сложно дать вам конкретный ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...