Синхронизировать доступ к ключам, хранящимся в распределенном кеше (SharedCache) - PullRequest
0 голосов
/ 29 июля 2010

В моем проекте я использую SharedCache в качестве механизма распределенного кэширования. Существует несколько экземпляров службы, развернутой в веб-ферме, которая обращается к этим кэшированным данным. Кэшируемые данные являются временными и могут иметь обновления. Я хотел бы знать, есть ли способ синхронизировать доступ к данным между двумя или более службами?

В качестве примера приведем сценарий, представьте, что запущено 2 экземпляра службы. Оба экземпляра обращаются к общему кешу. Если один сервис забирает некоторые данные из кэша для обработки, я бы хотел, чтобы другой сервис не брал ту же информацию. Для этого мне нужно обновить кеш, указав статус недоступен. Но в то время как я обновляю статус, может случиться так, что второй сервис также может выбрать те же данные.

Документирование общего кэша безопасность потоков предполагает, что данные доступны глобально и не являются потокобезопасными. Есть ли способ сделать его потокобезопасным без изменения исходного кода SharedCache?

1 Ответ

0 голосов
/ 02 декабря 2010

Как я уже говорил, в коде sharedcache есть блокировка и ее синхронизация.отсюда и голосование за закрытие этого вопроса.

...