Реализация кэша для.NET

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

  • NCache
  • AppFabric

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

  1. Иметь таблицу поиска для каждого типа данных / элемента (Учетная запись, Категория), которые мы будем хранить в кеше.
  2. Всякий раз, когда есть изменение для значений упомянутого типа, добавьте запись в одну таблицу (dbo.ResetCache).
  3. Попросите службу Windows проверить эту таблицу и сбросить кэш, если есть запись.

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

1 ответ

Решение

Я могу прокомментировать это в отношении NCache, так как я использовал его в течение нескольких лет. Исходя из моего опыта, в NCache встроена эта способность, и она называется "Зависимость базы данных". Вы можете установить зависимость между элементами кэша и записями таблицы базы данных, чтобы при изменении данных из таблицы базы данных элемент кэша автоматически удалялся или обновлялся в NCache.

Вам не нужно будет устанавливать какую-либо таблицу "ResetCache", а затем создавать любую службу Windows, которая бы все это выполняла, поскольку она уже является встроенной функцией NCache. NCache имеет зависимости на основе опроса и зависимости от БД (SQL/Oracle), о которых вы можете узнать больше по официальным ссылкам.

Зависимость на основе опроса: http://www.alachisoft.com/resources/docs/ncache/prog-guide/polling-based-dependency.html Зависимость sql: http://www.alachisoft.com/resources/docs/ncache/prog-guide/sql-dependency.html зависимость от Oracle: http://www.alachisoft.com/resources/docs/ncache/prog-guide/oracle-dependency.html

Надеюсь, это поможет.

Другие вопросы по тегам